优先队列 greater与less,

自定义还有结构体(可以设置2层优先级)  模板;

下面废话不多说直接上程序

注释的很明白

#include<iostream>
#include<cstring>
#include<algorithm>
#include<functional>
#define nn 100000005
#include<cstdio>
#include<queue>
using namespace std;
queue<int > q;
struct nood
{
int a,b;
} p[nn],tmp;
bool operator<(nood x,nood y)
{
return x.a>y.a;
}
/*
bool operator<(int a,int b)
{
return a>b;
}
priority_queue<int > qqq;
//自定义 优先级
*/
// greater 小到大 less 大到小
//q.pop() 弹出最优元素 q.push()送入元素
//q.empty()判断队列是否为空
//q.size() 返回队列的长度
priority_queue<int,vector<int>,greater<int> > qq;
priority_queue<int,vector<int>,less<int> >qw;
int main()
{
int a[]= {,,,}; for(int i=; i<; i++)
qq.push(a[i]); for(int i=; i<; i++)
{
cout<<qq.top()<<endl;
qq.pop();
} for(int i=; i<; i++)
qw.push(a[i]);
cout<<endl;
cout<<qw.size()<<endl;
/* for(int i=0; i<4; i++)
{
cout<<qw.top()<<endl;
qw.pop();
} */
cout<<endl;
while(!qw.empty())
{
cout<<qw.top()<<endl;
qw.pop();
}
cout<<endl<<qw.size()<<endl; //结构体优先级排序
for(int i=; i<; i++)
p[i].a=i;
priority_queue<nood> stru;
for(int i=; i<; i++)
stru.push(p[i]);
cout<<endl;
cout<<stru.size()<<endl;
cout<<endl;
for(int i=; i<; i++)
{
tmp=stru.top();
cout<<tmp.a<<" ";
stru.pop();
}
cout<<endl<<stru.size()<<endl; /*priority_queue<nood,vector<nood>,greater<nood> > nod;
for(int i=0; i<5; i++)
nod.push(p[i].a);
cout<<endl;
for(int i=0; i<5; i++)
cout<<nod.top()<<" ";
cout<<nod.size()<<endl;
for(int i=0; i<5; i++)
nod.pop();
cout<<endl<<nod.size()<<endl;*/
return ;
}

关于优先队列浅析(priority_queue)的更多相关文章

  1. STL之优先队列(priority_queue)

    转自网上大牛博客,原文地址:http://www.cnblogs.com/summerRQ/articles/2470130.html 先回顾队列的定义:队列(queue)维护了一组对象,进入队列的对 ...

  2. 【C语言】zz优先队列的实现

    做一个题目时,看见解法中使用了优先队列,http://hawstein.com/posts/3.6.html . 颇为好奇,找资料学习了一下,顺便做个摘要. c++的用法: 转自:http://blo ...

  3. HDU1896Stones(优先队列)

    地址http://acm.hdu.edu.cn/showproblem.php?pid=1896 题目大一比较简单,就是说在一条直线道路上有n个石头,往前走,遇到一个数一个,如果遇到的是第奇数个那就把 ...

  4. 第6章 堆排序,d叉堆,优先队列

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define leftChild(i) (2*(i ...

  5. deque,list,queue,priority_queue

    1.deque deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector唯一不同的是,deque采用分块的线性存储结构来存 储数据,每块的大小一般为512字节,称为一个deq ...

  6. 关于栈、队列、优先队列的应用——UVa11995

    这本来是上一篇博客里的内容,但不知道什么原因breakdown了……我就简单放上一道题好了 题意:这道题的题目是“猜猜数据结构”,题意就是给你一些输入输出数据,让你根据这些数据判断是什么数据结构.要猜 ...

  7. Dijkstra+优先队列

    /* Dijkstra的算法思想: 在所有没有访问过的结点中选出dis(s,x)值最小的x 对从x出发的所有边(x,y),更新 dis(s,y)=min(dis(s,y),dis(s,x)+dis(x ...

  8. 优先队列重载运算符< 以及初始化列表

    优先队列定义 priority_queue<int, vector<int>, greater<int> >pq; 优先队列重载<运算符 在结构体中定义一个 ...

  9. poj 3253 Fence Repair(priority_queue)

    Fence Repair Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 40465   Accepted: 13229 De ...

随机推荐

  1. 提取C3D视频特征(官方文档&实践)

    C3D Introduction 卷积神经网络(CNN)近年被广泛应用于计算机视觉中,包括分类.检测.分割等任务.这些任务一般都是针对图像进行的,使用的是二维卷积(即卷积核的维度为二维).而基于视频的 ...

  2. MIPS(极路由1s[mt7620a])平台OpenWrt路由器系统内的Go应用程序开发

    起因,由于coolpy5核心转换到go语言开发,所以目前超人正在进行相关的技术攻关,在程序编写方面一切都相对顺利.由于coolpy5是一个真正的商业级性能的系统也考滤到coolpy之前的版本已经确定的 ...

  3. webpack打包后该如何访问项目?

    一.问题描述 开发环境,页面浏览都OK,产出文件后,直接打开产出目录的index.html,页面空白. 二.预期结果 能正常看到页面. 三.问题分析 你可能会在编译的最后看到如下一句话: Tip: b ...

  4. jQuery中height()不能精确计算的问题

    jQuery中关于高度的计算有三个方法:outerHeight().innerHeight().height() outerHeight():获取元素集合中第一个元素的当前计算高度值,包括paddin ...

  5. 2017-11-8—自动控制原理在软硬件方面上的应用和体现

    这个话题讲起来是非常大的,先贴一下百度百科的定义: 自动控制(automatic control)是指在没有人直接参与的情况下,利用外加的设备或装置,使机器.设备或生产过程的某个工作状态或参数自动地按 ...

  6. css 实现文字提示说明、文字绕图效果

    鼠标放在某个文字上时,展示文字的解释说明 代码: <!DOCTYPE html> <html lang="en"> <head> <met ...

  7. buffer格式的转换

    ---恢复内容开始--- 定义好一个buffer 例如: var buf = new Buffer(''nihaoya); 通过str转成base64的字符 var str =buf.toString ...

  8. Android Studio帮助文档的安装及智能提示设置

    初次使用Android Studio,发现其智能提示不能像Visual Studio一样显示系统方法等的详细用途描述.经查找资料,问题原因是未安装SDK Document. 解决办法如下: 1.打开如 ...

  9. GMA Round 1 波动函数

    传送门 波动函数 f(x)是一个定义在R上的偶函数,f(x)=f(2-x),当$x\in[-1,1]$时,f(x)=cos(x),则函数$g(x)=f(x)-|cos(\pi x)|$,求g(x)在[ ...

  10. FJUT3260

    不是啊..不是说双栈嘛,,怎么是个**题啊. 链接:  http://120.78.128.11/Problem.jsp?pid=3260    从左到右扫一遍,把相交的区间扔到一起算,那么就变成了一 ...