maxheap.h

来自「包含八种排序算法的界面演示多线程程序,以线段形式表示数据大小,排序一清二楚」· C头文件 代码 · 共 37 行

H
37
字号
// MaxHeap.h: interface for the CMaxHeap class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAXHEAP_H__9AE26F27_C1DC_4631_B002_6453FF4CD981__INCLUDED_)
#define AFX_MAXHEAP_H__9AE26F27_C1DC_4631_B002_6453FF4CD981__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "heapsort.h"
class CMaxHeap  
{
	int * Heap;
	int n;
	CHeapSort* MyOwner;
	int siftdown(int p);
public:
	CMaxHeap(int *,int num,CHeapSort* owner);
	virtual ~CMaxHeap();
	int heapsize() const {return n;}
	int isLeaf(int p) const
	{return (p>=n/2)&&(p<n);}
	int leftChild(int p) const
	{return 2*p+1;}
	int rightChild(int p) const
	{return 2*p+2;}
	int parent(int p) const
	{return (p-1)/2;}
	int removemax();
	void buildHeap()
	{for (int i=n/2-1;i>=0;i--) siftdown(i);}

};

#endif // !defined(AFX_MAXHEAP_H__9AE26F27_C1DC_4631_B002_6453FF4CD981__INCLUDED_)

⌨️ 快捷键说明

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