Java中冒泡排序,选择排序,插入排序测试时间比较代码
时间: 2024-09-29 11:06:08 浏览: 33
在Java中,我们通常会通过编写一段示例代码来比较各种排序算法,比如冒泡排序、选择排序和插入排序,它们的时间复杂度分别是O(n^2)、O(n^2)和O(n^2),虽然它们都是平方级的时间复杂度,但在实际应用中,因为常数因子的不同,对于小规模数据,这些差异可能并不明显。
以下是一个简单的代码片段,展示如何对比这三个排序算法:
```java
public class SortingComparison {
void bubbleSort(int[] array) {
// 冒泡排序代码...
}
void selectionSort(int[] array) {
// 选择排序代码...
}
void insertionSort(int[] array) {
// 插入排序代码...
}
public static void main(String[] args) {
int[] testArray = {5, 2, 8, 1, 9, 4};
long startTime = System.currentTimeMillis();
SortingComparison sorting = new SortingComparison();
sorting.bubbleSort(testArray);
long endTime = System.currentTimeMillis();
System.out.println("Bubble Sort Time: " + (endTime - startTime) + "ms");
startTime = System.currentTimeMillis();
sorting.selectionSort(testArray);
endTime = System.currentTimeMillis();
System.out.println("Selection Sort Time: " + (endTime - startTime) + "ms");
startTime = System.currentTimeMillis();
sorting.insertionSort(testArray);
endTime = System.currentTimeMillis();
System.out.println("Insertion Sort Time: " + (endTime - startTime) + "ms");
}
}
```
这个代码首先创建了一个数组,然后分别记录了每个排序算法从开始到结束所花费的时间。但是请注意,这只是一个基本的演示,并未做性能优化,实际运行时间可能会受到多种因素影响,如JVM缓存策略等。
阅读全文