//插入排序算法
#include<stdio.h>
#define N 10
void printAaary(int *a,int n) //打印数组
{
int i=0;
for(i=0;i<n;i++)
printf("%5d",a[i]);
printf("\n");
}
void sort(int a[],int n) //插入排序
{
int i,j,t;
for(i=1;i<n;i++)
{
t=a[i]; //保存a[i]的值
j=i-1;
while(j>=0&&t<a[j]) //从小到大排序
{
a[j+1]=a[j]; //向后移位
j--;
}
a[j+1]=t; //j+1,而不是j
printf("第%d趟:",i); //打印第i趟
printAaary(a,i+1); //打印第i趟的排序结果
}
}
int main()
{
int a[N]={55,11,33,77,99,22,88,100,44,66};
printf("排序前:\n");
printAaary(a,N);
sort(a,N);
printf("\n排序后:\n");
printAaary(a,N);
}
插入排序算法
最新推荐文章于 2018-04-11 17:23:56 发布