插入排序算法

大致意思就是挨着挨着取一个元素,插入到已经部分排序好的序列中,如果小于序列中的元素,就将整个序列往后移,直到大于某个值或者数组首位就放过去这个元素。

代码实现如下:

 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 }

测试结果如下:

 

posted @ 2019-06-09 22:12  wydxry  阅读(290)  评论(0编辑  收藏  举报
Live2D