STL priority实例

 1 #include <iostream>
 2 #include <vector>
 3 #include <queue>
 4 #include <functional>
 5 #include <string>
 6 using namespace std;
 7 template <typename PriorityQueue>
 8 void dumpContents(const string & msg,PriorityQueue & pq)
 9 {
10     cout<<msg<<":"<<endl;
11     while(!pq.empty())
12     {
13         cout<<pq.top()<<endl;
14         pq.pop();
15     }
16 }
17 int main()
18 {
19     priority_queue<int> maxPQ;
20     priority_queue<int,vector<int>,greater<int> > minPQ;
21
22     minPQ.push(4);
23     minPQ.push(3);
24     minPQ.push(5);
25     maxPQ.push(4);
26     maxPQ.push(3);
27     maxPQ.push(5);
28
29     dumpContents("minPQ",minPQ);
30     dumpContents("maxPQ",maxPQ);
31
32     return 0;
33 }

时间: 2024-10-10 08:27:52

STL priority实例的相关文章

C++ 泛型程序设计与STL模板库(1)---泛型程序设计简介及STL简介与结构

泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型.例如: 将"可以比大小的所有数据类型(有比较运算符)"这一概念记为Comparable 将"具有公有的复制构造函数并可以用'='赋值的数据类型"这一概念记为Assignable 将"可以比大小.具有公有的复制构造函数并可以用'='赋值的所有数据类型"这个概念记

PX4/Pixhawk---uORB深入理解和应用

The Instructions of uORB 『PX4/Pixhawk』 ? 『软件体系结构』?『uORB』?『主题发布』?『主题订阅』 1 简介 1.1 PX4/Pixhawk的软件体系结构 ?PX4/Pixhawk的软件体系结构主要被分为四个层次,这可以让我们更好的理解PX4/Pixhawk的软件架构和运作: 应用程序的API:这个接口提供给应用程序开发人员,此API旨在尽可能的精简.扁平及隐藏其复杂性. 应用程序框架: 这是为操作基础飞行控制的默认程序集(节点). 库: 这一层包含了所

[转]C++中模板的特化与偏特化

转载自:http://hi.baidu.com/klcdyx2008/blog/item/5adbf77b79f316f90bd1873c.html 1.引言C++中的模板分为类模板和函数模板,虽然它引进到C++标准中的时间不是很长,但是却得到了广泛的应用,这一点在STL中有着充分的体现.目前,STL在C++社区中得到了广泛的关注.应用和研究.理解和掌握模板是学习.应用和研究以及扩充STL的基础.而STL模板实例中又充斥着大量的模板特化和偏特化. 2.模板的定义(1) 类模板定义一个栈的类模板,

从dll中导出c++类

简介: 动态库(DLL)从开始就作为windows平台的组成部分而存在.它以独立的模块把c函数封装起来供其他用户使用 .DLL从开始就是以封装C语言的形式而存在,当然现在你也可以封装其他语言,比如c++,而如果要实现跨平台使用DLL,则我们必须回归到C语言. 利用C语言接口并不意味着我们必须丢弃掉面向对象方法.C语言可以实现应用二进制接口(ABI),这样使调用者和被调用着可以遵从统一的标准,但是C++语言没有这个特性,导致从一个编译器生成的binary不能被另一个编译器所识别.这样使得直接导出C

[DLL] Dynamic link library (dll) 的编写和使用教程

前一阵子,项目里需要导出一个DLL,但是导出之后输出一直不怎么对,改了半天才算改对...读了一些DLL教程,感觉之后要把现在的代码导出,应该还要花不少功夫...下面教程参照我读的3个教程写成,所以内容比较多: http://www.tutorialspoint.com/dll/index.htm http://www.tuicool.com/articles/ZVBnE3b http://www.cnblogs.com/cswuyg/archive/2011/10/06/DLL2.html 第三

多快好省 -- Azure Batch AI 训练篇

今天我们来说一说如何通过 Azure Batch 实现多快好省的 AI 训练.多:Azure 云平台提供各种规格型号的计算服务资源,从 CPU 到 GPU 再到 FPGA,响指一打最新的 V100 卡加持 NVLINK 手到擒来.快:Azure 平台除了基础的计算资源外,还提供其它丰富的产品和工具,使工作效率大大提升,以 Azure Batch 做 AI 训练为例,Batch 服务提供的 SDK 及功能可以方便的帮助我们完成 AI 训练的资源调度和任务管理.好:东西好,价格还好.省:46个区域,

stl源码分析之priority queue

前面两篇介绍了gcc4.8的vector和list的源码实现,这是stl最常用了两种序列式容器.除了容器之外,stl还提供了一种借助容器实现特殊操作的组件,谓之适配器,比如stack,queue,priority queue等,本文就介绍gcc4.8的priority queue的源码实现. 顾名思义,priority queue是带有优先级的队列,所以元素必须提供<操作符,与vector和list不同,priority queue允许加入元素,但是取出时只能取出优先级最高的元素. 一. pri

c++ STL:队列queue、优先队列priority queue 的使用

说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一个元素4.pop() 删除第一个元素5.push() 在末尾加入一个元素6.size() 返回队列中元素的个数

STL:优先队列Priority Aueue

The functions associated with priority queue are:empty() – Returns whether the queue is emptysize() – Returns the size of the queuetop() – Returns a reference to the top most element of the queuepush(g) – Adds the element 'g' at the end of the queuep