比结构体简单 快 好理解
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
//双链表
int e[N];//储存数据
int l[N];//指向当前数据的左节点
int r[N];//指向当前节点的右节点
int idx;//记录当前该节点的位置
//初始化
void init()
{
r[0]=1;//0 代表head 头部
l[1]=0;//1 代表tail 尾部
idx=2;//因为1 2 都被用了
}
//在第k个节点右边插入一个数字x
void addr(int k, int x)
{
e[idx]=x;
r[idx]=r[k];
l[idx]=k;
l[r[k]]=idx;
r[k]=idx;
}
//在地k个节点左边插入一个数x
void addl(int k,int x)
{
addr(l[k],x);
}
//删除第k个节点
void remove(int k)
{
r[l[k]]=r[k];
l[r[k]]=l[k];
}
int main()
{
return 0;
}