STL模板库优先队列

来源:互联网 发布:python编写的小程序 编辑:程序博客网 时间:2024/06/06 07:13
#include<stdio.h>#include<stdlib.h>#include<queue>#include<algorithm>using namespace std;priority_queue<int>q;int main(){    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)    {        int val;        scanf("%d",&val);        q.push(val);    }    while(!q.empty())    {        int t=q.top();//返回优先队列中队顶的数据(优先级越高越先出)        printf("t = %d\n",t);        q.pop();    }    return 0;}结构体优先队列#include<stdio.h>#include<stdlib.h>#include<queue>#include<algorithm>using namespace std;struct node{    int a,b;    bool operator<(const node &s)const    {        if(a==s.a)            return b<s.b;//最大值优先        else            return a>s.a;//最小值优先    }};priority_queue<node> q;int main(){    int n;    scanf("%d",&n);    for(int i=0;i<n;i++)    {       struct node s;       scanf("%d %d",&s.a,&s.b);       q.push(s);    }    while(!q.empty())    {        struct node t=q.top();//输出队顶 的数据(优先级越高,越先输出)        printf("t.a = %d t.b = %d\n",t.a,t.b);        q.pop();    }    return 0;}

0 0
原创粉丝点击