代碼如下:
#include<bits/stdc++.h>
using namespace std;
const int maxn=100010;
int head,e[maxn],ne[maxn],idx,m;
void add(int x)
{
e[idx]=x;
ne[idx]=head;
head=idx++;
}
void insert(int k,int x)
{
e[idx]=x;
ne[idx]=ne[k];
ne[k]=idx++;
}
void del(int k)
{
ne[k]=ne[ne[k]];
}
int main()
{
head=-1;
cin>>m;
while(m--)
{
string op;
int k,x;
cin>>op;
if(op=="D")
{
cin>>k;
if(!k) head=ne[head];
del(k-1);
}
else if(op=="H")
{
cin>>x;
add(x);
}
else if(op=="I")
{
int k,x;
cin>>k>>x;
insert(k-1,x);
}
}
for(int i=head;i!=-1;i=ne[i])
cout<<e[i]<<" ";
}