单链表

数组实现单链表

e[N]储存每个节点的value,ne[N]储存每个节点的next指针 变量head储存头节点,idx储存当前使用到的地址

初始化操作

1
2
3
4
5
void init()
{
head = -1;
idx = 0;
}

在头节点后增加一个节点

1
2
3
4
5
6
void headadd(int x)
{
e[idx] = x;
ne[idx] = head;
head = idx++;
}

在地址为k的节点后增加一个节点

1
2
3
4
5
6
void add(int k, int x)
{
e[idx] = x;
ne[idx] = ne[k];
ne[k] = idx++;
}

删除地址为k的节点

1
2
3
4
void remove(int k)
{
ne[k] = ne[ne[k]];
}