《优先队列》使用及操作符重载——C++
来源:互联网 发布:coc迫击炮升级数据 编辑:程序博客网 时间:2024/05/21 13:54
C++ 优先队列
头文件
#include<queue>
操作符重载
在结构体中定义一个
friend bool operator<(node n1,node n2)
return n1.elem>n2.elem;
这是根据node结构体中的elem升序构建的一个操作符
如果想要降序就把>换成<
定义
priority_queue<node>q;
其中node为结构体名称,q为优先队列名称
示例
http://acm.hdu.edu.cn/showproblem.php?pid=1509
#include<iostream>#include<queue>#include<cstring>using namespace std;struct node{ char str[100]; int par; int pri; int index; friend bool operator<(node n1,node n2) { if(n1.pri==n2.pri) return n1.index>n2.index; else return n1.pri>n2.pri; }};int main(){ priority_queue<node>q; int k=0; char cmd[4]; node temp; while(cin>>cmd) { if(strcmp(cmd,"GET")==0) { if(!q.empty()) { temp=q.top(); q.pop(); cout<<temp.str<<' '<<temp.par<<endl; } else cout<<"EMPTY QUEUE!"<<endl else="" cin="">>temp.str>>temp.par>>temp.pri; temp.index=++k; q.push(temp); } } return 0;} </endl></node></cstring></queue></iostream>
0 0
- 《优先队列》使用及操作符重载——C++
- C++STL系列 结构体运算符重载及优先队列的使用
- 优先队列及重载的使用
- 优先队列——重载运算符
- 自定义优先队列和操作符重载问题
- C++优先队列(priority queue)及重载运算符
- 优先队列比较符重载
- 优先队列运算符重载
- C++STL优先队列使用
- 优先队列中重载运算符>和<
- 优先队列 重载运算符详解
- C++——操作符重载
- C++——操作符重载
- HDU1509 Windows Message Queue(优先队列priority_queue及重载运算符)
- C#—抽象类使用及方法重写与重载
- c++STL中优先队列的使用
- c++STL中优先队列的使用
- 优先队列priority_queue(重载)
- XSHELL下直接下载文件到本地(Windows)
- 浏览器好用插件
- Android手机与ide通过wifi连接
- Netty5入门学习笔记001
- 【LVL1_6_c】【思考】X86 c语言结构体数据对齐的规则
- 《优先队列》使用及操作符重载——C++
- Understanding ECMAScript 6
- 在Struts容器上下文中,js访问失败的问题
- 第十六周--数据结构--项目一-- 插入排序之希尔排序
- HDU 1175 连连看(DFS)
- js异步加载与执行1
- 安卓开发笔记(三)------------使用手机关闭电脑(基于socket通信)
- 发邮件
- LeetCode Game of Life