插入排序的顺序表实现代码

 更新时间:2020年4月25日 17:43  点击:1936

复制代码 代码如下:

#include<stdio.h>
typedef struct {
 int key;
}RecType;
typedef struct {
 RecType R[100+1];
 int Length;
}SqList;

#define N 11//为测试方便,直接输入11个整数
void InsertSort(SqList *L)
{
 int i,j;
 for(i=2;i<=L->Length;i++)
  if(L->R[i].key<L->R[i-1].key)
  {
   L->R[0]=L->R[i];
   //value of  under j compare with up decrease 1
   for(j=i-1;L->R[0].key<L->R[j].key;j--)
    L->R[j+1]=L->R[j];
   L->R[j+1]=L->R[0];
  }
}
int main()
{
    SqList L;
 int a[N],i,j,x;
 for(i=1;i<N;i++)
  scanf("%d",&L.R[i].key);
 L.Length=i-1;
 InsertSort(&L);

 for(i=1;i<N;i++)
  printf("%4d",L.R[i].key);
 printf("\n");
 return 0;
}

[!--infotagslink--]

相关文章