学习总结

xiaoxiao2021-02-28  139

头文件:

<queue>

 

声明:

数据大的优先级高:priority_queue<int> que;    //数据类型为int型,que为变量名

数据小的优先级高:priority_queue<int, vector<int>, greater<int> > que;  //数据类型为int型

数据类型为结构体:priority_queue<node> que;

#include <queue> #include <iostream> #include <cstdio> using namespace std; typedef struct node { int weight; int value; }SS; bool operator<(const node &a,const node &b) { if(a.weight==b.weight) return a.value>b.value; else return a.weight>b.weight; } int main() { priority_queue<node> que; int n; cin>>n; SS s[55]; for(int i=0;i<n;i++) { int x,y; cin>>x>>y; s[i].weight=x; s[i].value=y; que.push(s[i]); } while(!que.empty()) { printf("%d %d\n",que.top().weight,que.top().value); que.pop(); } return 0; }

 函数:

empty()  //判断队列是否为空,为空返回true,不为空返回false

top()      //返回值为队列的队首元素

push()  //void型函数,无返回值,将元素入队,如que.push(1024);将1024入队

pop()   //将队首元素删除

size()  //返回值为队列的元素个数

 

转载请注明原文地址: https://www.6miu.com/read-17818.html

最新回复(0)