码迷,mamicode.com
首页 > 编程语言 > 详细

直接插入排序

时间:2015-07-12 20:17:33      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

1.算法介绍

  每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。

2.算法原理

  第一趟比较前两个数,然后把第二个数按大小插入到有序表中;

  第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;

  依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。

3.源代码

  C:

 1 void insertSort(int[] array){
 2         for(int i=1;i<array.length;i++)
 3         {
 4             if(array[i]<array[i-1])
 5             {
 6                 int temp=array[i];
 7                 int k = i - 1;
 8                 for(int j=k;j>=0 && temp<array[j];j--)
 9                 {
10                     array[j+1]=array[j];
11                     k--;
12                 }
13                 array[k+1]=temp;//插入第i位的值
14             }
15         } 
16  }

4.时间复杂度:

  O(n^2)

5.稳定性分析

  是稳定的

直接插入排序

标签:

原文地址:http://www.cnblogs.com/pngcui/p/4641379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!