数据结构 堆。
来源:互联网 发布:mac优化大师 编辑:程序博客网 时间:2024/06/09 17:06
删除优先级最高的元素 DeleteMin()
void down(int bab){ int son=bab*2; int a=heap[bab]; while(son<=hlength) { if(son<length&&heap[son]>heap[son+1]) son++; //确定最小的儿子 if(heap[son]>a) break; else { heap[bab]=heap[son]; bab=son; son=bab*2; } } heap[son]=a;}int DeleteMin(){ int r=heap[1]; //delete root heap[1]=heap[hlength--]; down(1); return r;}
在堆中插入新元素 Insert()
void up(int son){ int bab=son/2; int a=heap[son]; while(bab>1&&a<heap[bab]) { heap[son]=heap[bab]; son=bab; bab=son/2; } heap[bab]=a; return ;}void Insert(int a){ heap[++hlength]=a; //加长并将a添加到末尾 up(hlength);}
将X位置的优先级提升到p值
void IncreasKey(int x,int p) //将x的优先级提升到p{ if(heap[x]<p) // 如果成立 优先级本身就高 return ; heap[x]=p; up(x);}
建模
void build (){ for(int i=hlength/2;i>0;i--) down(i); //调整每一次}
0 0
- 数据结构:堆
- 数据结构-堆
- 堆数据结构
- 堆数据结构
- 数据结构:堆
- 数据结构-堆
- 数据结构-堆
- 数据结构 堆
- 数据结构--堆
- 数据结构:堆
- 数据结构:堆
- 数据结构--堆
- 堆数据结构
- 数据结构- 堆
- 数据结构:堆
- 【数据结构】堆
- 数据结构--堆
- 数据结构-堆
- 浅谈设计模式——对象的行为模式
- log4j.properties配置详解与实例-全部测试通过
- linux时间编程
- Java编程思想学习笔记(二) 第3章 操作符
- iOS开发获取用户位置及定位
- 数据结构 堆。
- 划线功能更改(高德地图)
- 基于jQuery实现轮播特效(原理)
- 深入研究java.lang.Runtime类
- 【二分快速幂】病毒分裂
- MD5单向散列算法详解
- XCode 7.3.1(dmg) 官方直接下载地址(离线下载)
- HDU-5778-abs(暴力)
- 信息交换平台异步通信解决方案 Active MQ