STL Heap用法
来源:互联网 发布:淘宝订单不付钱 编辑:程序博客网 时间:2024/06/15 22:41
#include <iostream>#include <iterator>#include <vector>#include <algorithm>#include <string>using namespace std;void print(const vector<int>& v,string info){cout << info << ":";std::copy(v.begin(), v.end(), std::ostream_iterator<int>(cout, ",")); cout << "\n";}void main(){//就排序而言,heap是一种特殊的元素组织方式,应用于heap排序法;heap可被视为一个以序列式集合形成的二叉树//heap的第一个元素总是最大,且能在对数时间内增加或者删除一个元素vector<int> v{3,2,4,1,5};cout << (std::is_heap(v.begin(), v.end()) ? "true" : "false") << "\n"; //判断是否按照默认predicat排序好的heap,falsestd::make_heap(v.begin(), v.end());//创造heapcout << (std::is_heap(v.begin(), v.end()) ? "true" : "false") << "\n"; //判断是否按照默认predicat排序好的heap,trueprint(v,"make");std::pop_heap(v.begin(), v.end()); v.pop_back();//弹出heap中第一个元素print(v,"pop");v.push_back(9); std::push_heap(v.begin(), v.end());//放入一个元素到heap中print(v,"push");std::sort_heap(v.begin(), v.end());//将heap转化为有序序列(此时[beg,end)区间不再是heap)print(v,"sort");cout << (std::is_heap(v.begin(), v.end()) ? "true" : "false") << "\n"; //false}
输出:
阅读全文
0 0
- STL heap用法
- STL heap 的用法
- STL heap用法
- STL Heap用法
- POJ2051 【STL heap的用法】
- STL 堆heap的用法
- STL之heap相关用法
- 关于STL中heap的用法
- stl之heap、stack的用法
- heap stl
- STL【Heap】
- stl-heap
- heap STL
- STL Heap
- STL heap
- STL中heap相关函数的用法:make_heap,push_heap,pop_heap...
- 使用stl实现heap
- STL Heap操作
- Android 7.0 FileProvider的使用
- xxx is not in the sudoers file.This incident will be reported.的解决方法
- POJ 3552
- 三星A8000 ROM 刷机 root
- HDU 4913线段树好题
- STL Heap用法
- POJ 2349 Arctic Network
- Java中Queue和Deque的接口说明
- [Leetcode P17] Letter Combinations of a Phone Number(看作递增加法器)
- 树莓派网络与更新配置(有线、无线)
- 2017.08.04总结
- pymysql(一)检索、增加、更新、删除数据
- 树莓派常用软件及服务(vi、远程桌面、ssh、samba、u盘)
- 使用FileUtils简化你的文件操作