#include<stdio.h>
#include<stdlib.h>
void Insert(int buf[], int n)
{
int i, j, temp;
for (i = 1; i < n; i++) //从下标为1的元素位置开始比较
{
if (buf[i]<buf[i - 1]) //如果i位置的元素小于前一个位置i-1的元素
{
temp = buf[i]; //则将i位置的元素赋予临时变量temp
for (j = i - 1; buf[j] > temp; --j) //从i-1即大于i的第一个元素开始,往前
{ //遍历,遇到大于temp所存储元素的元素,则将
buf[j + 1] = buf[j]; //该元素后移,直到遇到第一个小于temp的元素
} //将temp插入到该元素后面
buf[j + 1] = temp;
}
}
for (i = 0; i < n; i++)
printf(" %d",buf[i]);
}
void main()
{
int a[] = { 2, 3, 1, 5, 6, 9, 8, 4, 7, 0 };
int n = sizeof(a) / sizeof(int); //求数组大小
printf("排序前:");
for (int i = 0; i < n; i++)
printf(" %d", a[i]);
printf("\n\n排序后:");
Insert(a, n);
printf("\n\n");
system("pause");
}