数组模拟双链表
#include <iostream>
using namespace std;
const int N=10010;
int m;
int e[N],l[N],r[N],idx;
void init()
{
//0表示左端点,1表示右端点
r[0]=1,l[1]=0;
idx=2;
}
//在下标是k的点 的右边,插入x
void add(int k,int x)
{
e[idx]=x;
r[idx]=r[k];
l[idx]=k;
l[r[k]]=idx;
r[k]=idx;
}
//在k的左边插入一个点调用add(l[k],x)
//删除第k个点
void remove(int k)
{
r[l[k]]=r[k];
l[r[k]]=l[k];
}
int main()
{
return 0;
}