Java编写程序:根据所给的数据,分别对前100、前1000及全部数据分别使用冒泡排序和Java的Qsort进行排序,并计时。
时间: 2024-09-08 19:02:33 浏览: 68
在Java中编写这样的程序,首先你需要了解如何使用冒泡排序(Bubble Sort)和快速排序(QuickSort,这里是通过Java内置的Arrays类的quicksort()方法)以及如何测量时间。以下是步骤概述:
1. **导入必要的库**:
```java
import java.util.Arrays;
import java.util.Random;
import java.util.concurrent.TimeUnit;
```
2. **生成随机数据**:
```java
Random random = new Random();
int[] data100 = new int[100];
int[] data1000 = new int[1000];
for (int i = 0; i < data100.length; i++) {
data100[i] = random.nextInt(1000);
// 对于data1000,同样生成1000个随机数
}
```
3. **冒泡排序函数**:
```java
public static void bubbleSort(int[] array) {
long startTime = System.nanoTime();
// 冒泡排序算法...
long endTime = System.nanoTime();
long duration = TimeUnit.NANOSECONDS.toMillis(endTime - startTime);
System.out.println("冒泡排序 " + array.length + "个元素耗时:" + duration + "毫秒");
}
```
4. **使用Arrays的qsort进行快速排序**:
```java
public static void quickSort(int[] array) {
long startTime = System.nanoTime();
Arrays.sort(array); // 使用Java内置的排序
long endTime = System.nanoTime();
long duration = TimeUnit.NANOSECONDS.toMillis(endTime - startTime);
System.out.println("快速排序 " + array.length + "个元素耗时:" + duration + "毫秒");
}
```
5. **测试排序算法**:
```java
public static void main(String[] args) {
// 测试数据
bubbleSort(data100);
quickSort(data100);
// 对更大的数组做同样的事情
bubbleSort(data1000);
quickSort(data1000);
// 对所有数据进行排序
quickSort(Arrays.copyOfRange(data1000, 0, data1000.length));
}
```
阅读全文