binsertsort.h

来自「本文档讲解了几种排序方式的优缺点。包含直接插入、希尔、直接选择、冒泡、快速、堆、」· C头文件 代码 · 共 23 行

H
23
字号
/*------折半插入排序------*/
#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 + =
减小字号Ctrl + -
显示快捷键?