heapsort.h

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

H
29
字号
/*-----堆排序-----*/
#ifndef HeapSort_H
#define HeapSort_H
void Sift(rectype *R,long p,long q)
{
	int j;
	if(p>=q) return;
	j=2*p;
	if(j<q && R[j].key<R[j+1].key) j++;
	if(R[p].key>R[j].key) return;
	R[0]=R[j];
	R[j]=R[p];
	R[p]=R[0];
	Sift(R,j,q);
}

void HeapSort(rectype *R,long n)
{
	long i;
	for(i=n/2;i>=1;i--) Sift(R,i,n);
	for(i=n;i>=2;i--)
	{
		R[0]=R[1];
		R[1]=R[i];
		R[i]=R[0];
		Sift(R,1,i-1);
	}
}
#endif 

⌨️ 快捷键说明

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