折半排序.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 + -
显示快捷键?