Java程序编写:根据所给的数据,先初始化数组,再将数组文件中的数据读入到数组中,之后分别对前100、前1000及全部数据分别使用冒泡排序和Java的Qsort进行排序,并计时。
时间: 2024-09-25 11:10:13 浏览: 39
在Java中,首先你需要做的是创建一个数组并初始化它。例如,如果你需要存储整数数据,可以这样做:
```java
int[] array = new int[1000]; // 初始化一个长度为1000的数组
// 这里假设你已经有了数据源,然后用Scanner或其他方式填充数组
for (int i = 0; i < array.length; i++) {
array[i] = readDataFromSource(i); // 从文件或输入流中读取数据
}
```
接下来,为了实现冒泡排序,你可以创建一个方法专门用于此操作:
```java
void bubbleSort(int[] arr) {
long startTime = System.nanoTime();
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
long endTime = System.nanoTime();
System.out.println("Bubble sort took " + (endTime - startTime) + " nanoseconds");
}
// 对前100、前1000以及全部数据调用bubbleSort
bubbleSort(Arrays.copyOfRange(array, 0, 100));
bubbleSort(Arrays.copyOfRange(array, 0, 1000));
bubbleSort(array);
```
对于快速排序(Java内置的Qsort,实际上称为Arrays.sort),你可以直接使用Java API:
```java
long quickSortStartTime = System.nanoTime();
Arrays.sort(Arrays.copyOfRange(array, 0, 100)); // 前100个元素
Arrays.sort(Arrays.copyOfRange(array, 0, 1000)); // 前1000个元素
Arrays.sort(array); // 全部元素
long quickSortEndTime = System.nanoTime();
System.out.println("Quick sort took " + (quickSortEndTime - quickSortStartTime) + " nanoseconds");
```
记得处理可能出现的异常,比如文件读取错误,以及在比较性能时考虑到内存复制的影响。
阅读全文