STL中heap用法
2016-07-26 16:58
429 查看
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int a[20]={0,29,23,20,22,17,15,26,51,19,12,35,40}; int cmp(int a,int b)//小根堆 { return a>b; } void make() { make_heap(&a[1],&a[13],cmp); for(int i=1;i<=12;i++) printf("%d ",a[i]); printf("\n"); } void push() { a[13]=8; push_heap(&a[1],&a[14],cmp); for(int i=1;i<=13;i++) printf("%d ",a[i]); printf("\n"); } void pop() { pop_heap(&a[1],&a[14],cmp); for(int i=1;i<=12;i++) printf("%d ",a[i]); printf("\n"); } void px() { sort(&a[1],&a[13]);//排序时默认从小到大排 for(int i=1;i<=12;i++) printf("%d ",a[i]); printf("\n"); } int main() { make();//制造一个堆 push();//在堆中放入元素 pop();//将堆尾元素放到堆顶后进行维护,堆顶元素放到堆尾 px();//排序 return 0; }
View Code
相关文章推荐
- OpenLayers3入门篇-右键事件的绑定
- ubuntu 安装deb程序文件失败的解决方法
- 07.26
- iE6、7、8、9、10、11兼容的Cookie
- OC 与Swift混合开发之相互调用
- 如何对js里的变量进行子文本替换
- mysql phpMyAdmin 导入报错iconv(): Detected an illegal character in input string原因解析
- 基于jQuery实现页面搜索功能
- Object流
- jqzoom
- KMP算法详解
- 常引用的几种情况
- android studio 创建公共库
- Volley学习(四)NetworkImageView+LruCache(源码简读)图片请求小例子
- LeetCode 203. Remove Linked List Elements
- ajax GET 演示
- echo 和 cat 的 区别
- STM32-待机唤醒实验
- lua cocos2dx UIManager
- GetHashCode 要你到底何用