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

简单插入排序

时间:2015-11-27 19:31:11      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

顾名思义,插入排序就是在已排好序的一组数据中插入新的数据,并且使它们仍然有序。

有一组数据:  技术分享

下面对它进行排序:

 

假设第一个元素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

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