输入:n个数<a1, a2, a3, ……an>。
输出:输入序列的一个排列(及重新排序)。
待排序的数也称为关键字(key)。
书中给出了伪代码,我在这写C语言版的。
#include<stdio.h>
#define MAXN 10
int a[MAXN];
int main()
{
int i, j, key;
for(i = 0; i < MAXN; i++)
scanf("%d", &a[i]);
for(j = 1; j < MAXN; j++)
{
key = a[j];
i = j - 1;
while(i >= 0 && a[i] > key)
{
a[i + 1] = a[i];
i = i - 1;
}
a[i + 1] = key;
}
for(i = 0; i < MAXN; i++)
printf("%d ", a[i]);
return 0;
}