//把每个值,插入到适合他的位置。插入的方法是:它前面的值往后移动。这个算法需要下标为0的位置作为哨兵
#include <stdio.h>
void InsertSort(int *L)
{
int i, j;
for (i = 2; i < 11; i++)
{
if (L[i] < L[i - 1])
{
L[0] = L[i];
for (j = i - 1; L[j] > L[0]; j--)
{
L[j + 1] = L[j];
}
L[j + 1] = L[0]; //因为循环最后的j--了
}
}
}
int main()
{
int L[11] = { -1,3,2,5,6,8,1,9,4,7,0 };
int i = 1;
for (; i <= 10; i++)
{
printf("%d ", L[i]);
}
printf("\n");
InsertSort(L);
for (i = 1; i <= 10; i++)
{
printf("%d ", L[i]);
}
printf("\n");
return 0;
}