#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[10],i,j,t;
srand((unsigned int)time(NULL));
for(i=0;i<10;i++)
a[i]=rand()%100;
printf("排序前序列:\n");
for(i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
//直接插入排序算法
for(i=1;i<10;i++)
{
if(a[i]<a[i-1])
{
t=a[i];
a[i]=a[i-1];
for(j=i-2;j>=0 && t<a[j];j--)
a[j+1]=a[j];
a[j+1]=t;
}
printf("第%d趟排序后序列:\n",i+1);
for(int i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
}
printf("\n排序后:\n");
for(i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
}
代码运行结果如下: