【发布时间】:2014-10-30 19:56:14
【问题描述】:
您好,我正在处理随机生成的数字列表,需要对它们进行排序。目前我将数字生成到一个数组中并输出它们。我需要能够按升序对数字进行排序。我的问题是如何调用要排序的随机生成的数组。所以我可以标记排序列表需要多少时间。
import java.util.*;
public class project2 {
public static int[] mklist(int len, int max, int min){
Random r = new Random();
int spread = max - min;
int[] numbers = new int[len];
for(int i = 0; i < len; i++)
numbers[i] = (r.nextInt() % (spread/2) + (spread/2)) + min;
return numbers;
}
static void printarray(int[] A) {
int i = 0;
while (i < A.length) {
System.out.print(A[i] + " ");
i++;
}
System.out.println("");
}
public static void main(String [] args) {
int[] tl;
long StartTime = System.nanoTime();
tl = mklist(10, 10000, 100);
long EndTime = System.nanoTime();
System.out.println("Time to create list: " + (EndTime - StartTime)/1000000.0 + " milliseconds");
printarray(tl);
}
}
这是一个有效的分拣机:
public static int[] ascending(int[] a){
int temp;
for(int i = 0; i < a.length - 1; i++){
for(int j = 0; j < a.length - 1; j++){
if(a[j] > a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return(a);
}
【问题讨论】:
-
ascending(tl);?然后再次执行printarray(tl);。您已经编写了计时器代码,所以只需将其放在这两个方法调用周围 -
您编写了所有代码,但您不知道如何调用您的方法?有些东西闻起来很腥......
标签: java arrays sorting random