#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[];
for(int i=;i<=;i++) a[i]=i;
sort(a+,a++,greater<int>() );
for(int i=;i<=;i++) cout<<a[i]<<" ";cout<<endl; // cong da dao xiao cout<<"------------------"<<endl; priority_queue<int> que; // 默认   最大之优先
for(int i=;i<=;i++) que.push(i);
while(!que.empty()) { cout<<que.top()<<" "; que.pop(); } cout<<endl; priority_queue<int,vector<int>,greater<int> >que1;//注意“>>”会被认为错误,这是右移运算符,所以这里用空格号隔开
for(int i=;i<=;i++) que1.push(i);
while(!que1.empty()) { cout<<que1.top()<<" "; que1.pop(); } cout<<endl; priority_queue<int,vector<int>,less<int> >que2;////最大值优先
for(int i=;i<=;i++) que2.push(i);
while(!que2.empty()) { cout<<que2.top()<<" "; que2.pop(); } cout<<endl;
}
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5;
int a[maxn];
int b[maxn];
struct NODE{
int x;
int y;
bool operator < (const NODE &a) const
{
if(x==a.x) return y>a.y;// zui xiao zhi you xian
return x>a.x;//最小值优先
}
};
int main()
{
for(int i=;i<=;i++) a[i]=i;
for(int i=;i<=;i++) b[i]=i*i;
priority_queue<NODE> k;
for(int i=;i<=;i++)
{
NODE c;
c.x=;
c.y=b[i];
k.push(c);
cout<<c.x<<" "<<c.y<<endl;
}
cout<<k.size()<<endl;
while(!k.empty())
{
NODE c=k.top(); cout<<c.x<<" "<<c.y<<endl;
k.pop();
} }

priority_queue的基本用法的更多相关文章

  1. priority_queue的常见用法

    priority_queue的常见用法 priority_queue是什么? 优先队列 底层实现用堆来实现 每次队首的优先级最大 priority_queue的定义 引入头文件 # include & ...

  2. 【心情】Priority_queue容器的用法

    所给的代码最顶端是最小的元素 要改为最顶端是最大的则只需把 friend bool operator<(Node a, Node b) { return a.val > b.val; } ...

  3. C++标准模板库(STL)之Priority_Queue

    1.Priority_Queue的常用用法 priority_queue:优先队列,底层是使用堆来实现的.优先队列中,队首元素一定是当前队列中优先级最高的哪一个. a (优先级3),b(优先级4),c ...

  4. 日常笔记6C++标准模板库(STL)用法介绍实例

    一.vector常见用法详解 vector翻译为向量,但是这里翻译成变长数组的叫法更好理解. 如果typename是一个STL容器,定义的时候要记得在>>符号之间加上空格,因为在C++11 ...

  5. 接水问题【NOIP2010普及组】优先队列

    题目描述 学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1. 现在有 n 名同学准备接水,他们的初始接水顺序已经确定.将这些同学按接水顺序从 1到 n ...

  6. 算法笔记 第6章 C++标准模版库(STL)介绍 学习笔记

    6.1 vector的常见用法详解 vector:变长数组,长度根据需要而自动改变的数组 要使用vector,则需要添加vector头文件,即#include<vector>,还需要在头文 ...

  7. 基础算法学习以及$STL$的使用

    1.优先队列 (1)大根堆(小顶堆) priority_queue<int,vector<int>,greater<int> >q; (2)小根堆(大顶堆) pri ...

  8. priority_queue用法(转载)

    关于priority_queue 1,关于STL中的priority_queue:确定用top()查看顶部元素时,该元素是具有最高优先级的一个元素. 调用pop()删除之后,将促使下一个元素进入该位置 ...

  9. 【转】优先队列priority_queue 用法详解

    http://www.cnblogs.com/void/archive/2012/02/01/2335224.html 优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的 ...

随机推荐

  1. where的顺序对运行的影响--无影响

    2.表连接的时候,大表与小表的顺序是哪个在前.3.在多表连接时,是表与表先连接起来,再执行对单表的限制条件where条件:还是先执行单表的限制where条件,再进行表连接?4.多表连接时,如4个表,我 ...

  2. java实现按中文首字母排序的方式

    public class ABD { public static void main(String[] args) { //Collator类是用来执行区分语言环境的String比较的,这里是选择CH ...

  3. python-第一类对象,闭包,迭代器

    # def fn(): # print("我叫fn") # fn() # print(fn) # <function fn at 0x0000000001D12E18> ...

  4. [转载]springmvc学习之@ModelAttribute运用详解

    spring学习之@ModelAttribute运用详解 链接

  5. intelij idea常用设置

    1.genneral设置 2.自动导包 3.设置显示行号和方法分隔符 4.忽略大小写提示代码 比如:输入str会让其提示String 5.去掉单行显示类,让idea多行显示,容易找到类 6.设置字体及 ...

  6. spring boot 延长 Session 时间

    1.查看session时间    默认1800s 通过request.getSession().getMaxInactiveInterval()可以查看你的session时间 2.延长session ...

  7. Problem B 字符串类(I)

    封装一个字符串类,用于存储字符串和处理的相关功能,支持以下操作: 1. STR::STR()构造方法:创建一个空的字符串对象. 2. STR::STR(const char *)构造方法:创建一个字符 ...

  8. vue 缩水版 双向绑定

    function Observer(obj, key, value){ var dep = new Dep(); if (Object.prototype.toString.call(value) = ...

  9. java学习笔记5(方法)

    方法: 1.如何创建方法 修饰符   返回值类型  方法名(参数){被封装的代码段} 2.方法的定义和使用的注意事项: a:方法不能定义在另一个方法里面: b:方法 名字和方法的参数列表,定义和调用时 ...

  10. :after和:before伪元素的解释

    :after  是清除浮动  让其高度和内容高度相同 :before   是防止上边塌陷 关注微信小程序