标签:
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