#include <stdio.h>
int main(void)
{
int r[8]={15,14,13,12,11,10,9,8};
int i=0;
int j=0;
for(i=2;i<=8;i++)
{
if (r[i]<r[i-1]) /* 需将L->r[i]插入有序子表 */
{
r[0]=r[i]; /* 设置哨兵 */
for(j=i-1;r[j]>r[0];j--)
r[j+1]=r[j]; /* 记录后移 */
r[j+1]=r[0]; /* 插入到正确位置 */
}
}
for(i=0;i<8;i++)
printf("%d\n",r[i]);
return 0;
}
算法理解,是个特例,有问题,未解决。