插入排序:
从第二个元素开始遍历,再与其前面的元素想比较,找到自己合适的位置。
移动方式:
输入排序:4 9 1 6 7 2 3 8
4 9
1 4 9
1 4 6 9
1 4 6 7 9
1 2 4 6 7 9
1 2 3 4 6 7 9
1 2 3 4 6 7 8 9
代码:
#include <stdio.h>
int num[1000];
int main(){
int n,x,y;
printf("输入排序的总个数:");
scanf("%d",&n);
for(int i=0;i<n;++i)
scanf("%d",num+i);
int Ac,k,j;
for(int i=1;i<n;++i){
Ac=num[i];k=i-1;
j=i;
while(k>=0 && num[k]>Ac){
num[k+1]=num[k];
k--;
}
if(k!=i-1){
num[k+1]=Ac;
}
for(int i=0;i<j+1;++i)
printf("%d ",num[i]);
printf("\n");
}
return 0;
}
本文详细介绍了插入排序算法的工作原理和实现过程。通过一个具体的例子展示了如何使用C语言来实现该算法,并逐步演示了排序的过程。
69万+

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



