STL双端队列 deque
2024-09-02 07:38:46
头文件:#include<deque>
构造方法:
①、创建一个没有任何元素的双端队列:deque<type> deq
②、用另一个类型相同双端队列初始化该双端队列:deque<type> deq(otherDeq)
③、初始化一个固定size的双端队列:deque<type> deq(size)
④、初始化n个相同元素的双端队列:deque<type> deq(n, element)
⑤、初始化双端队列中的某一段元素,从begin 到 end-1:deque<type> deq(begin, end)
操作:
①、赋值n个元素的拷贝给双端队列:deq.assign(n,elem)
②、赋值一段迭代器的值给双端队列:deq.assign(beg,end)
③、添加一个元素在开头(结尾同理):deq.push_front(elem)
④、删除第一个元素(结尾同理):deq.pop_front()
⑤、取固定位置的元素:deq.at(index)
⑥、取固定位置的元素:deq[index]
⑦、返回第一个元素(不检测容器是否为空):deq.front()
⑧、返回最后一个元素(不检测容器是否为空):deq.back()
例题:
#include<bits/stdc++.h> using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
const int maxn=15e4+;
int n,m,w;
map<int,deque<int> > a;
void read(int &x)
{
char ch = getchar();x = ;
for (; ch < '' || ch > ''; ch = getchar());
for (; ch >='' && ch <= ''; ch = getchar()) x = x * + ch - '';
}
int main()
{
int i,j;
while(scanf("%d%d",&n,&m)!=EOF){
for(i=;i<=n;i++) a[i].clear();
int ki,u,v;
while(m--){
read(ki);
if(ki==){
read(u),read(w),read(v);
if(w==) a[u].push_front(v);
else a[u].push_back(v);
}
else if(ki==){
read(u),read(w);
if(a[u].empty()){
printf("-1\n");
}
else{
if(w==){
printf("%d\n",a[u].front());
a[u].pop_front();
}
else{
printf("%d\n",a[u].back());
a[u].pop_back();
}
}
}
else{
read(u),read(v),read(w);
if(w){
a[u].insert(a[u].end(),a[v].rbegin(),a[v].rend()),a[v].clear();
}
else a[u].insert(a[u].end(),a[v].begin(),a[v].end()),a[v].clear();
}
}
}
return ;
}
最新文章
- cocoapod-使用cocoapod安装AFNetworking3.0
- NSTimer(定时器)
- i = i++;
- Android SwitchButton(滑动开关)
- 自学Zabbix3.5.2-监控项item-types监控类型
- 【JDBC 笔记】
- 【git】idea /git bash命令 操作分支
- JS及相关控件
- Django构建简介
- 77 Linux commands and utilities you&#39;ll actually use
- 主机使用代理上网,虚拟机centos7如何连外网
- PID控制動手玩玩看
- weblogic 乱码
- Mybatis:通过MapperScannerConfigurer进行mapper扫描
- 893. Groups of Special-Equivalent Strings 奇数偶数位上的相同数
- day05今日学习总结:字符串类型
- Dubbo -- 系统学习 笔记 -- 示例 -- 负载均衡
- [转帖]IPV6取代IPV4之路 为何道阻且长?
- 真机调试watch的一系列bug
- oracle使用已有vid快速新建虚拟机
热门文章
- Codeforces 1197 E (dp+sort+二分) (Rust)
- Linear Regression and Gradient Descent
- Using Tensorflow SavedModel Format to Save and Do Predictions
- html+css+js实现简单登陆注册页面
- Hibernate的dtd文件和properties文件
- Django Rest Framewoek
- 微信、qq网页二次分享
- vue.js(09)--v-for中的key
- 20180119-文件操作open用法
- shell根据系统当前的时间向用户输出问候信息