priority_queue&queue使用实例
2016-05-25 17:26
363 查看
priority_queue:
合并果子
priority_queue常用的函数:
top:读入顶端元素
pop:删除顶端元素
size:返回元素个数
push:加入一个元素
empty:如果为空,返回true
queue:
约瑟夫问题
至于队列的常用函数,大概是:
front:读入队头
back:读入队尾
pop:删除队头
empty、size、push:同priority_queue
合并果子
#include<bits/stdc++.h> //有些OJ&版本不兼容,需使用iostream&queue using 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; }
priority_queue常用的函数:
top:读入顶端元素
pop:删除顶端元素
size:返回元素个数
push:加入一个元素
empty:如果为空,返回true
queue:
约瑟夫问题
#include<bits/stdc++.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; }
至于队列的常用函数,大概是:
front:读入队头
back:读入队尾
pop:删除队头
empty、size、push:同priority_queue
相关文章推荐
- MYSQL CLUSTER questions
- #UITableView滑动卡顿优化
- UITextView动态调整高度
- iOS开发之高级视图—— UITableView(五)表视图索引
- NSOperationQueue
- 【Arduino官方教程第零辑】基础部分 1-2 Arduino Uno/Genuino Uno板简介
- SqQueue循环队列的 顺序存储实现
- Queue队列 链式存储实现
- UIImageView
- 为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)
- PAT (Advanced Level) 1051. Pop Sequence (25)
- UIScrollView基本用法和代理方法
- MIUI无法挂载system分区解决方法
- ERROR 1366 (HY000): Incorrect string value: '\ ' for column ' ' at row 1
- hadoop处理sequenceFile文件
- wifi扫描并且连接,UI处理,有判断要不要密码连接
- iOS开发之高级视图—— UITableView(四)自定义Cell
- (已解决)Arduino mega2560 R3插在电脑上没有反应
- blkid命令 获取文件系统类型、UUID
- (已解决)Arduino mega2560 R3插在电脑上没有反应