今天对四种常见的排序算法冒泡排序、选择排序、插入排序和希尔排序进行简单分析以及时间复杂度的测试。
一、冒泡排序
冒泡排序是排序算法中较为简单的一种,它遍历所有的数据,每次对相邻元素进行两两比较,如果顺序和预先规定的顺序不一致,则进行位置交换;这样一次遍历会将最大或最小的数据上浮到顶端,之后再重复同样的操作,直到所有的数据有序。
如果有N个数据,则需要N^2次比较。时间复杂度较高,但稳定性较好。
动态演示:
Java代码实现
public class 冒泡排序_BubbleSort {
public static void main(String[] args) {
int arr[] = { 12, 76, 37, 27, 98, 10, 67, 44, 35, 70 };
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[i]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int a : arr)
System.out.println(a);
}
}