已知一个length为1000000的整数数组,,数组最大元素为1000,最小元素100,排序输出所有元素。
using System;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
BitMap bm = new BitMap(1000000, 100, 1000);
bm.CreateRandomData();//产生随机数
bm.Sort();//排序
bm.PrintDataAfterSort();//输出
Console.ReadLine();
}
}
class BitMap
{
int DataLenth;
int MaxNumber;
int minNumber;
int[] DataForStore;
int[] DataForSort;
/// <summary>
///
/// </summary>
/// <param name="datelenth">带排序个数</param>
/// <param name="maxnumber">带排序最大数</param>
public BitMap(int datelenth, int minnumber, int maxnumber)
{
DataLenth = datelenth;
MaxNumber = maxnumber;
minNumber = minnumber;
DataForStore = new int[maxnumber - minNumber + 1];
}
/// <summary>
/// 产生随机数,便于测试
/// </summary>
public void CreateRandomData()
{
Random r = new Random();
DataForSort = new int[DataLenth];
for (int i = 0; i < DataLenth; i++)
{
DataForSort[i] = r.Next(minNumber, MaxNumber + 1);
}
}
/// <summary>
/// 排序
/// </summary>
public void Sort()
{
for (int i = 0; i < DataLenth; i++)
{
DataForStore[DataForSort[i] - minNumber]++;
}
}
/// <summary>
/// 输出排序后的数据
/// </summary>
public void PrintDataAfterSort()
{
for (int i = minNumber; i <= MaxNumber; i++)
{
for (int j = 0; j < DataForStore[i - minNumber]; j++)
{
Console.Write(i + ",");
}
}
}
}
}
分享到:
相关推荐
数组a中已存有互不相同的10个整数从键盘输入一个整数,找出与该值相同的数组元素下标。 (如果没找到,输出“没找到”).c
请在DOS命令窗口里编译运行该程序 dos下相关命令 编译:javac 文件名.java 运行:java 文件名 此处填写数字(每个数字要用空格隔开)
分治算法求n个数的数组中找出第二个最大元素
已知一个int数组, 编程从数组中获取最大数,初学者,不知道是否正确。
用递归算法编写求一个数组A中的最大元素;/****一个递归算法,求数组A中最大的元素***/ #include int Max(int A[], int i, int j) //求顺序表A中的最大元素 ……
2.已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离。 3.输入一个英文句子,将每个单词的第一个字母改成大写字母。 4、输入两个正整数,输出...
将一个数组的各个元素构造为二叉树,其中涉及到求叶子节点的函数,深度函数
例5.3 一维数组输入n个数,计算所有元素的和,求出最大的元素和最小的元素 1 利用for循环,计算输出1+2+…+100的和 2 输出1—100之间所有偶数。 3 输出1—100之间所有奇数。 4 分别计算1--100之间所有的偶数和、...
这种类型的对象可以存储10个20~80之间的整数,即他的内部有一个整型数组存储数据。编程: (1) 判断两个inergerSet类对象S1和S2是否相等。提示:集合相等的前提是所有元素相等。 (2) 输出两个集合对象的交集。 ...
已知N个大于0的整数构成一个集合,即{1,2,3,……,N},求其所有的非空且元素不相邻的子集,计算所有子集的乘积的平方的和。
已知线性表按顺序存于内存,每个元素都是整数,把所有值为负数的元素移到全部正数值元素前边的算法
3、从键盘输入10个整数存入在一个数组中,计算所有元素之和及平均值,并找出最大值和最小值。 4、说明下面语句的错误原因并改正之? int numbers[]; int[] numbers; numbers = { 42, 84, 168 }; x数组常量...
6-4 已知有一个数组名叫oneArray,用一条语句求出其元素的个数。 解: nArrayLength = sizeof(oneArray) / sizeof(oneArray[0]); 6-5 用一条语句声明一个有5×3个元素的二维整型数组,并依次赋予1~15的初值。 解...
5.12 有一个首地址为MEM的100D字数组,试编制程序删除数组中所有为零的项,并将后续项向前压缩,最后将数组的剩余部分补上零。 5.13 在STRING到STRING+99单元中存放着一个字符串,试编制一程序测试该字符串中是否...
定义一个二维数组用于存储学生的学号,姓名和c#课程的考试成绩,然后输入学号、姓名和c#成绩。最后按c#成绩升序和降序输出成绩单。
1. 设有一个double型维数组a,长度为N(注意N值应满足以下操作需求)。建立该数组,并完成以下任务: (1)键盘输入15个实型数据存入数组a中,并按照每行输出5个的格式,输出该数组; (2)计算a中元素的平均值,并将...
求从A[0][0]开始的互不相邻的所有元素的和 注:一个元素的八个方向上的第一个元素均为相邻元素。 int sum2 (int A[M][N] , int m , int n) { 3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。 int...
在以上二维数组中,a[0]、a[1]、a[2]都是一维数组名,同样也代表一个不可变的地址变量,其值依次为二维数组每行第一个元素的地址,其基类型就是数组元素的类型。因此,对于二维数组,象a[0]++这样的表达式是非法的。...
读取一个文件中的整数,并将它们从小到大排序,最后输出排序后到另一个文件中
条件是一个boolean类型的数据,如果条件结果为true,则执行表达式1的内容,并将表达式1的结果作为整体表达式的结果。如果条件为false,则执行表达式2的内容,并将表达式2的结果作为整体表达式的结果 ex: var age ...