📄 binsertsort.h
字号:
/*------折半插入排序------*/
#ifndef BInsertSort_H
#define BInsertSort_H
void BInsertSort(rectype *R,long n)
{
long i,j,low,m,high;
for(i=2;i<=n;i++)
{
R[0].key=R[i].key; /*R[i].key暂存到R[0].key*/
low=1;high=i-1;
while(low<=high) /*在R[low....heigh]中折半查找有序插入位置*/
{
m=(low+high)/2; /*折半*/
if(R[0].key<R[m].key) high=m-1; /*插入点在低半区*/
else low=m+1; /*插入点在高半区*/
}
for(j=i-1;j>=high+1;j--) /*记录后移*/
R[j+1].key=R[j].key;
R[high+1].key=R[0].key; /*插入*/
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -