Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 给定一个1到1000之间有1000万个整数的文件,我们如何在Java中按排序顺序打印它们?寻找一些有效的方法。_Arrays_Sorting_Data Structures - Fatal编程技术网

Arrays 给定一个1到1000之间有1000万个整数的文件,我们如何在Java中按排序顺序打印它们?寻找一些有效的方法。

Arrays 给定一个1到1000之间有1000万个整数的文件,我们如何在Java中按排序顺序打印它们?寻找一些有效的方法。,arrays,sorting,data-structures,Arrays,Sorting,Data Structures,整数总数=1000万 整数范围=1-1000 很明显,整数不是唯一的。我们如何按顺序打印它们? 我们应该使用位向量、ASCII数组或其他DS吗?最好的方法是什么 任何帮助都将不胜感激 最有效的方法是首先确定允许范围内的每个整数在数组中出现的次数 int[] data = ... int[] counts = new int[1000]; for (int i = 0; i < data.Length; i++) counts[data[i] - 1]++; 此策略是准时的。最有效

整数总数=1000万 整数范围=1-1000

很明显,整数不是唯一的。我们如何按顺序打印它们? 我们应该使用位向量、ASCII数组或其他DS吗?最好的方法是什么


任何帮助都将不胜感激

最有效的方法是首先确定允许范围内的每个整数在数组中出现的次数

int[] data = ...
int[] counts = new int[1000];
for (int i = 0; i < data.Length; i++)
    counts[data[i] - 1]++;

此策略是准时的。

最有效的方法是首先确定允许范围内的每个整数在数组中出现的次数

int[] data = ...
int[] counts = new int[1000];
for (int i = 0; i < data.Length; i++)
    counts[data[i] - 1]++;
这一战略是及时的