minheap.h

来自「这些程序是本人学习数据结构时编的」· C头文件 代码 · 共 48 行

H
48
字号
// MinHeap.h: interface for the MinHeap class.
// 
//  PROGRAM BY	:	SINGLE LAO
//  DATE		:   2004. 5. 25
//  VERSION		:	DEBUG 1.0 
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MINHEAP_H__81A02485_8C45_4F92_90AC_5E33C2E1C934__INCLUDED_)
#define AFX_MINHEAP_H__81A02485_8C45_4F92_90AC_5E33C2E1C934__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include <iostream>
#include "MinPQ.h"

using namespace std;

template<class Type>
class MinHeap:public MinPQ<Type>
{
public:
	int IsEmpty() const;
	int IsFull() const;
	void MakeEmpty();
	int RemoveMin(Type &x);
	int Insert(const Type & x);
	MinHeap(int maxSize = DefaultSize);
	MinHeap(Type arr[] ,int n);
	virtual ~MinHeap()
	{
		delete [] heap;
	};
	const MinHeap<Type>& operator = (const MinHeap& R);
private:
	enum { DefaultSize = 256}; 
	Type* heap;
	int MaxHeapSize;
	int CurrentSize;
	void FilterUp(int start);
	void FilterDown(int i,int m);
};

#endif // !defined(AFX_MINHEAP_H__81A02485_8C45_4F92_90AC_5E33C2E1C934__INCLUDED_)

⌨️ 快捷键说明

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