最小堆的建立
2015-04-22 16:26
162 查看
#include<iostream> #include<math.h> #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<string.h> const int MAX=50; using namespace std; int h[MAX]; void sifup(int i) { if(i==1) { return; } while(i/2!=0) { if(h[i]<h[i/2])//小于父节点 //上浮 { swap(h[i],h[i/2]); } else //等于父节点 或是 大于父节点 不需要操作 { return; //break; } i/=2; } } int main() { for(int i=1;i<=10;i++) { h[i]=rand()%20; sifup(i); } for(int i=1;i<=10;i++) { cout<<h[i]<<" "; } return 0; }
相关文章推荐
- 最小堆的建立
- 数据结构与算法之最小堆的建立
- 最小堆怎么建立
- 建立最小堆的下滑算法
- 最小堆的建立
- 算法入门--堆排序2(建立最小堆,从大到小)
- 最大堆最小堆的建立
- 二叉树的先序建立及先序遍历:
- 建立索引来优化SQL查询
- 深入浅出Zookeeper之二Session建立
- openssl建立私有CA
- 单向链表的建立(C语言)
- 嵌入式的开发环境的建立
- VC中如何建立一个UNICODE应用程序
- ubuntu 9.04下建立Qt/Embedded 4.5开发环境
- 网络编程之WCF编程:WCF服务和客户端的建立,回调
- 使用serv-u(11以上版本)建立ftp服务器
- 利用Github建立你的个人网站
- 北京尚学堂|写好技术建立原则(二)