插入排序C语言实现代码

来源:互联网 发布:youtube网络连接错误 编辑:程序博客网 时间:2024/05/18 01:59
<span style="font-size:18px;">#include<stdio.h>void main(){int A[6]={5,2,4,6,1,3};int i,j,key;for(j=1;j<6;j++){key=A[j];//从右侧牌堆中抓一张key牌,key牌即手中抓的将要插入的牌i=j-1;//与key牌左侧第一张牌比较while((i>=0)&&(A[i]>key))//一直比较,将较小的牌移至左侧{A[i+1]=A[i];i=i-1;}//key牌此时一直在手中,未插入A[i+1]=key;//插入key牌}for(i=0;i<6;i++){printf("%d\n",A[i]);}}</span>
代码改自算法导论第三版,使用C语言实现,插入排序的复杂度为O(n^2),在数据较少时效率较高,数据较多应使用归并排序。如果要逆序输出,可以将A[i]>key中的>换成<;
1 0
原创粉丝点击