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 + -
显示快捷键?