与单链表唯一不同是有两个指针,一个指向前,一个指向后。
//默认最开始,0表示左端点,1表示右端点 int left[N],int right[N]; int val[N]; int idx;
初始化操作
void init()
{
right[0]=1;
left[1]=0;
idx=2;
}
插入一个点
void insert(int k,int x)//在k点右侧插入x
{
val[idx] = x;
right[idx] = right[k];
left[idx] = k;
left[right[k]]=idx;
right[k] = idx++;
}
删除一个点
void del(int k)
{
right[left[k]] = right[k];
left[right[k]] = left[k];
}



