code:
#include<bits/stdc++.h>//xfl using namespace std; const int N = 1e5+5; struct Biao{int v,nxt;}b[N]; int h,cnt,n,k,x; void addhead(int x){b[++cnt].v=x;b[cnt].nxt=h;h=cnt;} void addk(int k,int x){b[++cnt].v=x;b[cnt].nxt=b[k].nxt;b[k].nxt=cnt;} void deleted(int k){b[k].nxt=b[b[k].nxt].nxt;} int main() { string a; scanf("%d",&n); while(n--) { cin>>a; if(a=="H"){scanf("%d",&x);addhead(x);} if(a=="D"){scanf("%d",&x);if(!x)h=b[h].nxt;else deleted(x);} if(a=="I"){scanf("%d%d",&k,&x);addk(k,x);} } for(int i=h;i;i=b[i].nxt)printf("%d ",b[i].v); return 0; }
原文:https://www.cnblogs.com/xfldbk/p/14155390.html