我看到一篇文章,他们正在对经典排序算法进行计时,以查看哪个最快以及多少。我想复制那个过程。我认为我所有的排序算法都是正确的,但是我在创建随机数组时遇到了麻烦。
这是我的主要方法,它调用另一个类并向它们发送随机数组。
public class Timer {
public static void main(String[] args) {
int[] numArray;
InsertionSort insert = new InsertionSort();
MergeSort merge = new MergeSort();
QuickSort quick = new QuickSort();
SelectionSort select = new SelectionSort();
BubbleSort bubble = new BubbleSort();
int sizeNumber = 0;
Scanner scanner;
scanner = new Scanner(System.in);
System.out.println("Enter size of arrayList to be sorted: ");
sizeNumber = scanner.nextInt();
scanner.close();
numArray = new int[sizeNumber];
arraySize(sizeNumber, numArray);
insert.sort(numArray);
merge.sort(numArray);
quick.sort(numArray);
select.sort(numArray);
bubble.sort(numArray);
}
public static int[] arraySize(int number, int[] array) {
Random rng = new Random();
array = new int[number];
for (int i = 0; i < array.length; i++) {
int random = rng.nextInt();
array[i] = random;
}
return array;
}
}
为了清楚起见,我在问如何创建一个 int[] 数组并用用户选择的长度填充随机数。目前,我使用的方法返回一个类似于[I@9931f5
而不是任何数字的值。