思路
List会超!List会超!List会超!(可能是我太蒟蒻了写不出来)
最后还是改成了双向链表。
代码
#include<bits/stdc++.h> using namespace std; int n,m,opt,x; deque<int>a; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ scanf("%d",&opt); if(opt==1){ scanf("%d",&x); a.push_front(x); } if(opt==2){ a.pop_front(); } if(opt==3){ scanf("%d",&x); a.push_back(x); } if(opt==4){ a.pop_back(); } if(opt==5){ reverse(a.begin(),a.end()); } if(opt==6){ printf("%d\n",a.size()); for(deque<int>::iterator it=a.begin();it!=a.end();){ printf("%d",*it); it++; if(it!=a.end()) printf(" "); else{ putchar('\n'); break; } } } if(opt==7){ sort(a.begin(),a.end()); } } return 0; }