看图
程序代码
#include <stdio.h>
/*插入排序,顺序从小到大*/
void InsertSort(int *buf,int lenth)
{
int i,j;
int temp;
for(i=1;i<lenth;i++)
{
for(j=i;j>0&&buf[j]<buf[j-1];j--) //如果发现右边的小于左边的就交换两个值
{
temp = buf[j];
buf[j]=buf[j-1];
buf[j-1]=temp;
}
}
}
int main()
{
int arr[]={2,5,9,4,8,10,4,1,3};
int i=0;
printf("原始数据是:\n");
for(i=0;i<sizeof(arr)/sizeof(int);i++)
{
printf("%d ",arr[i]);
}
printf("\n");
InsertSort(arr,sizeof(arr)/sizeof(int));
printf("排序后的数据是:\n");
for(i=0;i<sizeof(arr)/sizeof(int);i++)
{
printf("%d ",arr[i]);
}
printf("\n");
return 0;