STL 代码如下
#include<bits/stdc++.h>
using namespace std;
deque<int>q;
int n,m,ar[200005],cnt;
int main(){
cin>>n>>m;
while(m--){
int op,a;cin>>op;
if(op==1){
cin>>a;
q.push_front(a);
}else if(op==2){
q.pop_front();
}else if(op==3){
cin>>a;
q.push_back(a);
}else if(op==4){
q.pop_back();
}else if(op==5){
reverse(q.begin(),q.end());
}else if(op==6){
cnt=q.size();
cout<<cnt<<'\n';
for(int i=1;i<=cnt;i++){
ar[i]=q.front(),q.pop_front();
cout<<ar[i]<<' ';
}
cout<<'\n';
for(int i=1;i<=cnt;i++)q.push_back(ar[i]);
}else{
sort(q.begin(),q.end());
}
}
}