大致意思就是挨着挨着取一个元素,插入到已经部分排序好的序列中,如果小于序列中的元素,就将整个序列往后移,直到大于某个值或者数组首位就放过去这个元素。
代码实现如下:
1 #include <stdio.h>
2 int a[5]={432,43,4,2,10};
3 void InsertSort(int a[],int n)
4 {
5 int i,j,tmp;
6 for(i=1;i<n;i++){
7 if(a[i]<a[i-1]){
8 tmp=a[i];
9 for(j=i;tmp<a[j-1];--j) a[j]=a[j-1];
10 a[j]=tmp;
11 }
12 }
13 }
14 int main()
15 {
16 InsertSort(a,5);
17 for(int i=0;i<5;i++) printf("%d\n",a[i]);
18 return 0;
19 }
测试结果如下:

来源:https://www.cnblogs.com/shixinzei/p/10995117.html