插入排序-java

排序-插入排序

基本思想:将待排序表看作左右两部分,其中左边为有序区,右边为无序区, 整个排序过程就是将右边无序区中的元素逐个插入到左边的有序区中,以构成新的有序区。

平均时间:O(n2)

最好情况:O(n2)

最坏情况:O(n2)

辅助空间:O(1)

稳定性:不稳定

适用场景:n比较小时

java实现:

 1     public static void insertSort(int[] list) {
 2 
 3         for (int i = 1; i < list.length; i++) {
 4             int temp = list[i];
 5             int j = i;
 6             if (list[j - 1] > temp) {
 7                 while (j >= 1 && list[j - 1] > temp) {
 8                     list[j] = list[j - 1];
 9                     j--;
10                 }
11                 list[j] = temp;
12             }
13         }
14     }    
原文地址:https://www.cnblogs.com/yang--yang/p/4855501.html