这里主要是对八大排序算法的时间复杂度进行对比,他们的java代码实现,会在后续博文中依次分享!!!
对比图如下:
一定要掌握快速排序,很重要!
- 稳定的排序
- 时间复杂度:
最好 — O(n2)
最坏 — O(n2) - 原理图片
public class Test01 {
public static void main(String[] args) {
int[] nums = new int[]{9,-8,-10,6,1};
System.out.println("原数据:" + Arrays.toString(nums));
new Test01().InsertSort(nums);
System.out.println(Arrays.toString(nums));
}
public void InsertSort(int[] nums){
for(int i = 1; i < nums.length; i++){
int current_index = i;
int current_number = nums[current_index];
while(current_index > 0 && current_number < nums[current_index - 1]){
nums[current_index] = nums[current_index - 1];
current_index--;
}
nums[current_index] = current_number;
System.out.println("第" + i +"次排序:" + Arrays.toString(nums));
}
}
}



