标签:
顾名思义,插入排序就是在已排好序的一组数据中插入新的数据,并且使它们仍然有序。
有一组数据:
下面对它进行排序:
假设第一个元素5为已经排序好的数组,将右边的序列从第二个元素2开始依次插入其中,排序过程如下图所示:
因为6比前面的元素都大,所以不移动。
排序完毕
c语言测试代码:
1 #include<stdio.h> 2 int main(void){ 3 int a[] = {5,2,4,6,1,3}; 4 int i,j,length,key; 5 length = sizeof(a)/sizeof(a[0]); 6 for(i=1;i<length;i++){ 7 j=i-1; 8 key = a[i]; 9 while(j>=0&&a[j]>key){ 10 a[j+1] = a[j]; 11 j = j-1; 12 a[j+1] = key; 13 } 14 } 15 for(i=0;i<length;i++){ 16 printf("%d ",a[i]); 17 } 18 return 0; 19 }
标签:
原文地址:http://www.cnblogs.com/tanxing/p/5001193.html