完整程序如下:
#include<stdio.h>
int main(){
//插入排序
int n,a[100],i,j,key=0;
scanf("%d",&n);
for(int i = 0;i < n;i++){ //输入一串数字
scanf("%d",&a[i]);
}
for(int j = 1;j < n;j++){ //从第二个数字起开始排序 j->1-n
key = a[j];
i = j-1;
while(i >= 0 && a[i] > key){ //比key大的数字后移 i>=0 否则当key比第一个数小时没法排序
a[i+1] = a[i];
i--;
}
a[i+1] = key; //key插入在空位
}
for(int i = 0;i < n;i++){ //输出从小到大的序列
printf("%d ",a[i]);
}
return 0;
}
本文详细介绍了使用C语言实现的插入排序算法,通过步骤演示如何输入一串数字,然后逐步将它们按升序排列。适合初学者理解排序算法的工作原理。
2200

被折叠的 条评论
为什么被折叠?



