yang哥

博客园 首页 新随笔 联系 订阅 管理

排序-插入排序

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

平均时间: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     }    

 

posted on 2015-10-05 11:27  woniuyang  阅读(326)  评论(0编辑  收藏  举报