排序算法之直接插入排序

直接插入排序:把N哥待排序的元素看成一个有序表和一个无序表。起始,有序表中只包含一个元素,无序表中包含N-1个元素,排序过程中每次从无序表中取出第一个元素,将他插入到有序表中的适当位置,使之成为新的有序表,重复N-1次则完成排序。

图解:

 

代码:

 1 void InsertSort( int a[] , int n )
 2 {
 3     int i = 0 , j = 0 , k = 0;
 4     int temp = 0;
 5 
 6     for( i = 1 ; i < n ; i++ )
 7     {
 8         for( j = 0 ; j < i ; j++ )
 9         {
10             if( a[i] < a[j] )
11             {
12                 temp = a[i];
13                 //移位操作
14                 for( k = i ; k > j ; k--)
15                 {
16                     a[k] = a[k-1];
17                 }
18                 a[k] = temp;
19             }
20             else
21                 continue;
22         }
23     }
24 }

 

转载于:https://www.cnblogs.com/fengshen19951029/p/8618376.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值