数据结构
int head;//头指针
int e[N];//第i个节点的数据域
int ne[N];//第i个节点的指针域
int idx;//当前是第几个节点
初始化
head = -1;//头指针指空
idx = 0;//计数器归零
按照序插入
void add(int x)
{
e[idx] = x;
ne[idx] = head;
head = idx ++;
}
插入到第k个节点后
void add(int x,int k)
{
e[idx] = x;
ne[idx] = ne[k];
ne[k] = idx ++;
}
删除第k个节点的下一个节点
void remove(int k)
{
ne[k] = ne[ne[k]];
}
遍历
for(int i = head;i!=-1;i=ne[i])
cout<<e[i]<<endl;