/*
作者:臧旭
日期:2010.12.25
*/
#include "MaxHeap.h"
void main() {
cout << "建立一个空的最大堆" << endl;
MaxHeap< int > h;
cout << "当前堆中元素为: " << h;
cout << endl;
cout << "向堆中连续的添加15,13,8,10,11,7这6个元素" << endl;
h.Insert(Element<int>(15));
h.Insert(Element<int>(13));
h.Insert(Element<int>(8));
h.Insert(Element<int>(10));
h.Insert(Element<int>(11));
h.Insert(Element<int>(7));
cout << "当前堆中元素为: " << h << endl;
cout << "继续向堆中插入14" << endl;
h.Insert(Element<int>(14));
cout << "当前堆中元素为: " << h << endl;
cout << "从堆中连续删除8个元素:" << endl;
for (int i = 0; i < 7; i++)
{
Element<int> * e = new Element<int>();
e = h.Delete(*e);
if (e) {
cout << "从堆中删除元素 " << e->key;
cout << ". 当前堆中元素为: " << h << endl;
}
delete e;
}
cout << endl;
}
没有合适的资源?快使用搜索试试~ 我知道了~
数据结构最大堆的模板实现 c++ 存储方法是数组
共3个文件
h:2个
cpp:1个
需积分: 15 14 下载量 28 浏览量
2010-12-25
23:36:39
上传
评论 1
收藏 2KB RAR 举报
温馨提示
功能包括创建最大堆,插入和删除元素,判断空堆满堆,重载了<<用于输出,输出的形式是广义表. 还有堆的析构函数忘记写了 应该在程序中添加 ~MaxHeap() { delete [] heap; } 另外,MaxFQ虚类中的Full(),IsFull(),Empty(),IsEmpty()以及静态常量defaultSize都应该挪到MaxHeap里面. Full()函数有错误,应该用开辟一个新的数组来存放原来的数据,并把*heap释放掉.这些Bug写的时候都忘记了,下载的人自己注意改一下,不然堆的元素超过10个就会出错
资源推荐
资源详情
资源评论
收起资源包目录
MaxHeap.rar (3个子文件)
MaxHeap.h 2KB
MaxPQ.h 1KB
MaxHeapDrive.cpp 872B
共 3 条
- 1
资源评论
嘎嘎嘎498451
- 粉丝: 38
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功