折半排序.txt

来自「数据结构用C语言实现的各种排序方法」· 文本 代码 · 共 16 行

TXT
16
字号
void binsort(JD r[],int n)  //折半排序
{  int i,j,x,s,m,k;
   for(i=2;i<=n;i++)
   {  r[0]=r[i];//每次从数组中将待排序的数i拿出放于0位置
      x=r[i].key;
      s=1; j=i-1;//从1到拿出数的前一个位置开始折半查找
      while(s<=j)
      {  m=(s+j)/2;
         if(x<r[m].key)  j=m-1;
         else s=m+1;
      }//利用折半查找法确定插入的位置s
      for(k=i-1;k>=s;k--)
         r[k+1]=r[k]; //将s~i之间的数全部后移
      r[s]=r[0]; //将数插入s 位置
   }
}

⌨️ 快捷键说明

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