



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
堆实现的优先队列模板Posted on2010-12-23 21:25¥忘%风阅读(1308) 评论(0)编辑收藏下面是自己手写的优先队列模板(默认是大顶堆,可通过重载小于号改变)用法说明如下:1)priority_queue部分(用法参照stl)c-free库函数帮助里提供的priority_queue用法说明如下:C+优先队列类似队列,但是在这个数据结构中的元素按照一定的断言排列有序。empty()如果优先队列为空,则返回真pop()删除第一个元素push()加入一个元素size()返回优先队列中拥有的元素的个数top()返回优先队列中有最高优先级的元素2)堆的基本堆操作部分。用法如下:set_size()设置堆的大小set_value()设置堆中第id个元素的值creat_heap()创建一个初始堆heap_sort()堆排序,默认从小到大排,可通过重载小于号实现按指定规则排序is_heap()判断是否构成一个堆模板如下:?#define MAXN 25500typedefstructRedType intleft, right;intweight;boolfriendoperator b.weight;Edge;classpriority_queue private:RedType rMAXN;intlength;voidheap_adjust(ints, intm) RedType rc = rs;for(intj = s 1; j = m; j = 1) if(j m & rj rj+1) j+;if(!(rc 1; i 0; i-) heap_adjust(i, length);voidset_size(intlength) this-length = length;voidset_value(intid, RedType value) rid = value;voidheap_sort() for(inti = length; i 1; i-) RedType tmp = r1;r1 = ri;ri = tmp;heap_adjust(1, i - 1);boolis_heap() intlen = length 1 - 1, j;if(len 1) if(length = 1 | (!(r1 rlength) & !(r1 rlength - 1)returntrue;returnfalse;for(inti = 1; i = len; i+) j = i 1;if(rj rj + 1) j+;if(ri 1;for(intj = length; j 1; j = 1) if(!(rs = 1;voidpop() RedType tmp = r1;r1 = rlength;rlength = tmp;heap_adjust(1, -length);RedType top() returnr1; intsize() returnlength;boolempty() if(length 根节点不断做heap_adjust(),使之构成一个初始堆。-n / 2 * log(n)heap_sort() 相当于重复n次pop()操作,但length不改变。-n * log(n)is_heap() 判断是否构成堆,堆大小小于4时由外面的if判定,避免for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版八年级历史与社会下册说课稿5.1.3 农耕文明的繁盛
- 2025房屋抵押借款的合同范本
- 2025动产抵押担保合同
- Unit 6 Section B project(3a-3c) 说课稿 2024-2025学年人教版(2024)七年级英语上册
- 山东省枣庄市峄城区吴林街道中学八年级信息技术下册 第一单元 第6课《枚举法》说课稿
- 第十四课 餐巾折花说课稿-2025-2026学年小学综合实践活动吉美版四年级上册-吉美版
- 2024-2025学年学年高中历史 2.3 华盛顿会议说课稿 新人教版选修3
- 电池厂车间工具管理规定
- 绥化事业单位笔试真题2025
- 4.3 空间直角坐标系说课稿-2025-2026学年高中数学人教A版必修2-人教A版2007
- 《搞定:无压工作的艺术》完整课件
- 京东方岗位胜任力测评题库
- 印刷包装公司安全生产管理方案
- 高中数学64数列求和省公开课获奖课件市赛课比赛一等奖课件
- 二手车国庆节活动方案
- 人教版八年级上册地理教学计划及进度表
- 2025高考物理步步高同步练习必修3练透答案
- 分包单位与班组签订合同
- DZ∕T 0215-2020 矿产地质勘查规范 煤(正式版)
- 2024年初中升学考试九年级数学专题复习新课标要求-中考33讲
- (高清版)DZT 0289-2015 区域生态地球化学评价规范
评论
0/150
提交评论