priority_queue&queue的使用

2025-05-29 15:30:16

priority_queue: 优先队列queue:队列

工具/原料

Dev-c++

priority_queue

1、合并果子#include<bits/stdc++.h>//有些OJ&版本不兼容,需使用iostream&queu髫潋啜缅eusing namespace std;int n,a,i,k,s;int main(){ priority_queue<int, vector<int>, greater<int> >q;//定义小根堆 cin>>n; for(i=1;i<=n;i++){ cin>>a; q.push(a);//将a放入q } while(q.size()!=1){//如果q的元素大于1,继续 k=q.top();//k赋为q的顶端元素 q.pop();//弹出q的顶端元素 k+=q.top(); q.pop(); s+=k;//将s加上顶端两个的和 q.push(k);//k放回q } cout<<s; return 0;}

2、priority_queue常用的函数:top:读入顶端元素pop:删除顶端元素size:返回元素个数push:加入一个元素empty:如果为空,返回true

queue

1、约瑟夫问#include<bits/st蟠校盯昂dc++.h>using namespace std;足毂忍珩int n,m,i,k;int main(){ queue<int>q; cin>>n>>m; for(i=1;i<=n;i++) q.push(i);//将编号为i的定为i while(!q.empty()){//不为空继续 for(i=1;i<m;i++){ q.push(q.front());//把头复制到尾 q.pop();//弹出头 } cout<<q.front()<<' '; q.pop();//出队 } return 0;}题

2、至于队列的常用函数,大概是:front:读入队头back:读入队尾pop:删除队头empty、size、push:同priority_queue

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢