双链表(模板)AcWing.827

code:
#include<bits/stdc++.h>//xfl using namespace std; const int N = 1e5+5; struct Biao{int v,nxt,pre;}b[N]; int l,r,cnt=1,n,k,x; void add(int k,int x){b[++cnt].v=x;b[cnt].nxt=b[k].nxt;b[cnt].pre=k;b[b[k].nxt].pre=cnt;b[k].nxt=cnt;} void deleted(int k){b[b[k].pre].nxt=b[k].nxt;b[b[k].nxt].pre=b[k].pre;} int main() { string a; scanf("%d",&n); l=0;r=1; b[0].nxt=1;b[1].pre=0; while(n--) { cin>>a; if(a=="L"){scanf("%d",&x);add(0,x);} if(a=="R"){scanf("%d",&x);add(b[1].pre,x);} if(a=="IL"){scanf("%d%d",&k,&x);add(b[k+1].pre,x);} if(a=="IR"){scanf("%d%d",&k,&x);add(k+1,x);} if(a=="D"){scanf("%d",&k);deleted(k+1);} } for(int i=b[0].nxt;i!=1;i=b[i].nxt)printf("%d ",b[i].v); return 0; }
浙公网安备 33010602011771号