最小堆的建立
2017-02-24 13:18
134 查看
#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(建立最小堆,从大到小)
- 建立最小堆的下滑算法
- 最小堆的建立
- 最大堆最小堆的建立
- 最小堆的建立
- 数据结构与算法之最小堆的建立
- 最小堆怎么建立
- 建立索引
- UML中各种图形的建立步骤(转)
- tcp建立连接和断开连接
- VBS建立快捷方式
- Node.js笔记(一)项目的建立
- 建立discuz后台管理页面的模板
- 【IT笔试面试题整理】给定二叉树先序中序,建立二叉树的递归算法
- 2.2 建立示例数据库
- FriendlyARM Tiny6410-Fedora14-QtSDK-Qt4.7交叉编译环境的建立
- 教你如何在gihub上建立项目
- 数据结构实验之二叉树的建立与遍历
- Android在如何建立一个WebServer
- 怎么用批处理建立计划任务