简单的使用示例。
view plaincopy to clipboardprint?
#include "stdafx.h"//非vc编译器可去掉
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
//看看priority_queue的声明,模板的第三个参数就是比较规则,规则可以是个函数,也可是个仿函数
//template < class T, class Container = vector<T>,
// class Compare = less<typename Container::value_type> > class priority_queue;
struct Node
{
int frequery;
int tr;
friend bool operator> (const Node& lhs, const Node& rhs)
{
return (lhs.frequery > rhs.frequery);
}
};
struct node_greater_comp {
bool operator()(const Node& lhs, const Node& rhs) const
{
return lhs.frequery > rhs.frequery;
}
};
int main()
{
//示例一
{
priority_queue < Node, vector<Node>, greater<Node> > q; //仿函数greater中用到operator>
Node w[10];
w[0].frequery=12;
w[1].frequery=32;
w[2].frequery=34;
q.push(w[0]);
q.push(w[1]);
q.push(w[2]);
while(!q.empty())
{
cout <<q.top().frequery <<" ";
q.pop();
}
cout <<endl;
}
//示例二
{
Node w[3];
w[0].frequery=12;
w[1].frequery=32;
w[2].frequery=34;
priority_queue < Node, vector<Node>, node_greater_comp > q(w,w+3); //仿函数node_greater_comp是比较规则
while(!q.empty())
{
cout <<q.top().frequery <<" ";
q.pop();
}
cout <<endl;
}
return 0;
}
view plaincopy to clipboardprint?
#include "stdafx.h"//非vc编译器可去掉
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
//看看priority_queue的声明,模板的第三个参数就是比较规则,规则可以是个函数,也可是个仿函数
//template < class T, class Container = vector<T>,
// class Compare = less<typename Container::value_type> > class priority_queue;
struct Node
{
int frequery;
int tr;
friend bool operator> (const Node& lhs, const Node& rhs)
{
return (lhs.frequery > rhs.frequery);
}
};
struct node_greater_comp {
bool operator()(const Node& lhs, const Node& rhs) const
{
return lhs.frequery > rhs.frequery;
}
};
int main()
{
//示例一
{
priority_queue < Node, vector<Node>, greater<Node> > q; //仿函数greater中用到operator>
Node w[10];
w[0].frequery=12;
w[1].frequery=32;
w[2].frequery=34;
q.push(w[0]);
q.push(w[1]);
q.push(w[2]);
while(!q.empty())
{
cout <<q.top().frequery <<" ";
q.pop();
}
cout <<endl;
}
//示例二
{
Node w[3];
w[0].frequery=12;
w[1].frequery=32;
w[2].frequery=34;
priority_queue < Node, vector<Node>, node_greater_comp > q(w,w+3); //仿函数node_greater_comp是比较规则
while(!q.empty())
{
cout <<q.top().frequery <<" ";
q.pop();
}
cout <<endl;
}
return 0;
}
发表评论
-
crond需要重启么?
2011-06-11 12:20 1227今天一同事说把A机器的/var/spool/cron/admi ... -
GDB信号的处理和启动配置文件(转载)
2011-05-22 21:57 2205信号的处理 程序是和网络相关的,调试期间经常地收到SIGPIP ... -
信号量基础知识
2011-05-10 18:40 987linux 中信号相关的一个结构体 struct sigact ... -
asprintf
2011-05-08 21:49 2329sprintf() 的整个介面长的样子的是: int ... -
获取用户输入的问题(清除stdin)
2011-05-08 21:37 1910需求: 从终端获取用户输入的用户名和密码(有效 ... -
Linux下的UDP/TCP端口映射(netcat and socat)
2011-05-07 20:42 9668说起来有点土,事到如今 ... -
linux任务管理
2011-05-07 20:32 684disown是bash内部命令,nohup是外部命令 diso ... -
boost multi_index_container
2011-04-27 21:18 1527本章介绍的主题是multi_i ... -
变量相关命令(env,export,set,read, array, declare
2011-04-26 21:38 1004系统的预设参数文件:/ ... -
linux backlog
2011-04-25 15:13 1493在linux中,/proc/sys/net/core/so ... -
linux backlog
2011-04-25 15:13 732在linux中,/proc/sys/net/core/so ... -
stl hash_map
2011-04-23 19:57 750#include <cstdlib> #incl ... -
linux串口登陆
2011-04-23 09:31 1480在这个互连网高速发展的时代, 企业内网络设备的安全和运行稳定也 ... -
linux rename
2011-04-21 09:38 708Linux中rename命令的用法 刚学习linux的时候, ... -
stl heap
2011-04-17 10:01 770make_heap 原型: #include <a ... -
expand and upexpand
2011-04-09 13:33 709expand: NAME expand - co ... -
内核模块相关命令:lsmod,depmod,modprobe
2011-03-28 13:24 1111lsmod 功能:列出内核已载入模块的状态 用法:lsmod ... -
通过先unlink()后close()创建安全的临时文件
2011-03-15 14:26 884使用POSIX(Portable Operating Syst ... -
parted操作磁盘
2011-03-12 16:15 808除了fdisk命令,在linux下还有一个功能也非常强大的磁盘 ... -
linux写缓存调优
2011-03-11 09:34 2005我们在磁盘写操作持续 ...
相关推荐
priority_queue用法,希望对大家会有所帮助
主要介绍了 STL priority_queue(优先队列)详解的相关资料,需要的朋友可以参考下
priority_queue 源码
priority_queue_learn.cpp queue_learn.cpp set_learn.cpp stack_learn.cpp static_var_in_class.cpp std_except.cpp std_io.cpp stl_alg_learn.cpp string_learn.cpp test_init.cpp type_change.cpp vector_learn....
压缩包中包括STL数据文件的读取类,包括ASCII格式和Binary格式。
使用priority_queue(即堆)的不同方式 :mount_fuji: 默认声明 priority_queue< int > pq; // creates max-heap priority_queue< int , vector< int >> pq; // creates max-heap 为 priority_queue 编写...
implement huffman algorithm with stl priority-queue, first you must have the file, then the result is saved
c++ std stl各容器的应用场合及性能 map hash_map unordered_map multimap list forward_list vector set hash_set multiset unsorted_set queue deque priority_queue
这个文档介绍了PBDS库中的一些数据结构,包括rope、priority_queue以及tree的用法。
gdb 打印功能扩展 ...# std::priority_queue<T> -- via ppqueue command # std::bitset<n> -- via pbitset command # std::string -- via pstring command # std::widestring -- via pwstring command
本人做的一个二叉堆的课件,附带STL中的priority_queue
STL-ARR,arry, file,list,map,priority_queue,set,share_ptr,stack,string,template,等基本数据类型
1、STL标准容器类简介 标准容器类 说明 顺序性容器 vector 相当与数组,从后面快速的插入与删除,直接访问任何元素 deque 双队列,从前面或后面快速的插入与删除,... priority_queue 最高优先级元素总是第一个出列
包含了STL中 dequeue,list,map,multimap,multiset,priority_queue,queue,set,stack,vector等10个代码例子,并列举了各个容器对应的全部函数使用方式,以及函数的调用方式与代码注释,能使您快速掌握STL的...
第20章 priority_queue优先队列容器 275 20.1 priority_queue技术原理 275 20.2 priority_queue应用基础 278 20.3 本章小结 281 第四篇 C++ STL算法技术 第21章 非变易算法 284 21.1 逐个容器元素for_...
该篇分为十一部分,分别是:vector类的主要成员...stack类的主要成员、queue类的主要成员、priority_queue类的组要成员、set类的主要成员、multiset类的主要成员、map类的主要成员、multimap类的主要成员、STL算法函数
第20章 priority_queue优先队列容器 275 20.1 priority_queue技术原理 275 20.2 priority_queue应用基础 278 20.3 本章小结 281 第四篇 C++ STL算法技术 第21章 非变易算法 284 21.1 逐个容器元素for_...
讲STL的栈,队列,优先队列,内有代码清单使用方法等等
第20章 priority_queue优先队列容器 275 20.1 priority_queue技术原理 275 20.2 priority_queue应用基础 278 20.3 本章小结 281 第四篇 C++ STL算法技术 第21章 非变易算法 284 21.1 逐个容器元素for_...
MyStl 实现自己的STL 环境 Microsoft Windows 10 Visual Studio 2015 c++11 要点 模板实现 traits编程技巧 c++11 自定义内存管理 ...顺序容器适配器:stack,queue ...容器适配器:priority_queue 迭代器:反向迭代器