博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++实现大顶堆(插入,删除)
阅读量:6593 次
发布时间:2019-06-24

本文共 1794 字,大约阅读时间需要 5 分钟。

practice Max.h文件

#ifndef PRACTICE_MAX_H_INCLUDED#define PRACTICE_MAX_H_INCLUDEDtemplate 
class MaxHeap{public: MaxHeap(int mx=100); virtual ~MaxHeap(); bool IsEmpty(); void Push(const T& e); void Pop(); const T& Top() const;private: T* heapArray; int maxSize; int currentSize; void trickleUp(int index); void trickleDown(int index);};template
MaxHeap
::MaxHeap(int mx){ if(mx<1) throw"max size must be>1"; maxSize=mx; currentSize=0; heapArray=new T[maxSize];}template
MaxHeap
::~MaxHeap(){ delete[] heapArray;}template
bool MaxHeap
::IsEmpty(){ return currentSize==0;}template
void MaxHeap
::Push(const T& e) //插入一个值{ if(currentSize==maxSize) throw"MaxHeap is full"; heapArray[currentSize]=e; trickleUp(currentSize); currentSize++;}template
void MaxHeap
::trickleUp(int index)//向上渗透¸{ int parent=(index-1)/2; T bottom=heapArray[index]; while(index>0&&heapArray[parent]
const T & MaxHeap
::Top() const//取出第一个值{ return heapArray[0];}template
void MaxHeap
::Pop(){ heapArray[0]=heapArray[--currentSize]; trickleDown(0);}template
void MaxHeap
::trickleDown(int index)//先下渗透{ int largerChild; T top=heapArray[index]; while(index
=heapArray[largerChild]) break; heapArray[index]=heapArray[largerChild]; index=largerChild; } heapArray[index]=top;}#endif // PRACTICE_MAX_H_INCLUDED

practice.cpp文件

#include
#include"practice Max.h"using namespace std; int main() { MaxHeap
h(100);// h.Push(20);// h.Push(30);// h.Push(40); h.Push(50);// h.Push(90);// cout<
<

 

转载于:https://www.cnblogs.com/libin123/p/10420190.html

你可能感兴趣的文章
建立Git版本库管理框架例子
查看>>
nginx防止部分DDOS攻击
查看>>
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字......
查看>>
number_format() 函数定义和用法
查看>>
Java8中聚合操作collect、reduce方法详解
查看>>
查看记录
查看>>
mybatis报ORA-00911: 无效字符
查看>>
Swift UIView动画animateWithDuration
查看>>
Maven 集成Tomcat插件
查看>>
css中的line-height问题
查看>>
我的友情链接
查看>>
Linux运维学习笔记之二:常用命令1
查看>>
snort安装常见问题及解决方法
查看>>
在ubuntu系统安装jdk
查看>>
很久没写了
查看>>
我的友情链接
查看>>
Cacti部署SOP
查看>>
Extjs - Panel组件
查看>>
收集参数及反转过程
查看>>
PPTP××× 数据分流
查看>>