插入排序

确定一个关键字key,从右向左逐一比较,直到找到序列中key的正确位置结束。

#include<stdio.h>
int a[10000];
int main()
{
  int i,j,key,n,temp;
  while(scanf(“%d”,&n)!=EOF)
  {
    if(n==0) break;
    for(i=0;i<n;i++)
      scanf(“%d”,&a[i]);
    for(j=1;j<n;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<n;i++)
      printf(“%d “,a[i]);
    printf(“\n”);
  }
  return 0;
}

版权声明:本文为TsnTse原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/TsnTse/p/6283758.html