AcWing 826. 单链表
原题链接
简单
作者:
Yoshiki..
,
2024-04-12 22:14:26
,
所有人可见
,
阅读 2
没有人写STL list 的题解 我就来补充一下
#include <iostream>
#include <cstring>
#include <algorithm>
#include <list>
using namespace std;
const int N = 100010;
list<int> l;
//记录被插入k个元素的位置
list<int>::iterator pos[N];
//记录数量
int cnt;
//记录当前元素有没有被删除
bool erz[N];
void solve(){
char op;cin>>op;
if(op=='H'){
int x;cin>>x;
l.push_front(x);
pos[++cnt] =l.begin();
}else if(op =='I'){
int k,x;cin>>k>>x;
pos[++cnt]=l.insert(next(pos[k]),x);
}else{
int k;cin>>k;
if(k==0)l.pop_front();
else if(!erz[k]&&k!=0)
l.erase(next(pos[k]));
}
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int _;cin>>_;
while(_--)solve();
for(auto &x:l){
cout<<x<<" \n"[&x==&l.back()];
}
return 0;
}