//双链表
const int N=1010;
int m;
int e[N],l[N],r[N],idx;
//初始化
void init()
{
r[0]=1;
l[1]=0;
idx=2;
}
//在下标是 k 的右边插入 x
void add(int k,int x)
{
e[idx]=x;
l[idx]=k;
r[idx]=r[k];
r[k]=idx;
l[r[k]]=idx;
}
//删除下标为 k 的节点
void remove(int k)
{
r[l[k]]=r[k];
l[r[k]]=l[k];
}
03-17
7305
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)