ch8_2.c

来自「一个很好的数据结构(C语言版)讲义。附带全部所需算法源码。」· C语言 代码 · 共 33 行

C
33
字号
#include <stdio.h>
typedef struct
{  int key;
  /* float info;*/
}JD;

void binsort(JD r[],int n)
{  int i,j,x,s,m,k;
   for(i=2;i<=n;i++)
   {  r[0]=r[i];
      x=r[i].key;
      s=1; j=i-1;
      while(s<=j)
      {  m=(s+j)/2;
         if(x<r[m].key)  j=m-1;
         else s=m+1;
      }
      for(k=i-1;k>=s;k--)
         r[k+1]=r[k];
      r[s]=r[0];
   }
}

void main()
{
    static JD r[]={0,30,13,70,85,39,42,6,20};
    int i,n=8;
    binsort(r,n);
    for(i=1;i<=n;i++)
      printf("%d  ",r[i].key);
    printf("\n");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?