最小-最大堆的插入程序

上传人:宝路 文档编号:23760144 上传时间:2017-12-03 格式:DOC 页数:3 大小:26.50KB
返回 下载 相关 举报
最小-最大堆的插入程序_第1页
第1页 / 共3页
最小-最大堆的插入程序_第2页
第2页 / 共3页
最小-最大堆的插入程序_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《最小-最大堆的插入程序》由会员分享,可在线阅读,更多相关《最小-最大堆的插入程序(3页珍藏版)》请在金锄头文库上搜索。

1、最小-最大堆的插入#include #include #define MAXSIZE 1000struct element int key;element heapMAXSIZE;bool level(int i)double k = log(i)/log(2);if(int)k%2 =0) return true;else return false;void max_verify(element heap, int n, element item)int i = n;int parent = n/4;while(parent) if(heapparent.key item.key) heap

2、i = heapparent;i = parent;parent = parent/4; else break;heapi = item;void insert(element heap, int *n, element item)(*n)+;if(*n = MAXSIZE) printf(heap is fulln);exit(1);if(*n = 1) heap*n.key = item.key;return;int parent = *n/2;switch(level(parent) case MIN:if(heapparent.key item.key) heap*n = heappa

3、rent;min_verify(heap, parent, item); else max_verify(heap, *n, item);break;case MAX:if(heapparent.key item.key) heap*n = heapparent;max_verify(heap, parent, item); else min_verify(heap, *n, item);break;int main()int n = 0;for(int i=1; i=10; +i) element item;item.key = i;insert(heap, &n, item); del_min(heap, &n);for(int i=1; i=n; +i) printf(%d , heapi.key);printf(n);return 0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号