const int N=1e5+10;
int head,e[N],ne[N],idx;
//head表示头结点的下标
//e[i]数组表示节点i的值
//ne[i]表示i的next指针是多少
//idx表示当前已经用到了那些点
void init() //初始化
{
head=-1; //头结点指向-1
idx=0; //当前可以从0号节点开始使用
}
void add_head(int x) //在头结点插入元素x
{
e[idx]=x;
ne[idx]=head;
head=idx;
idx++;
}
void add(int k,int x)//将x插入下标是k的点的后面
{
e[idx]=x;
ne[idx]=ne[k];
ne[k]=idx;
idx++;
}
void remove(int k) //将下标k之后的点删除
{
ne[k]=ne[ne[k]];
}
数据结构——数组模拟链表
最新推荐文章于 2022-02-14 20:16:04 发布