head表示头节点
e数组存储元素
ne数组存储下一个节点索引
idx表示下一个可以存储元素的位置索引
头节点后添加元素:
- 在e的idx处储存元素e[idx]=x
- 在该元素插入到头节点后面 ne[idx]=head
- 头节点指向该元素 head=idx
- idx指向下一个可存储元素的位置idx++
void insert_head(int x)
{
e[idx]=x;
ne[idx]=head;
head=idx;
idx++;
}
在索引k后插入一个数
- 在e的idx处存储元素e[idx]=x
- 该元素插入到第k个插入的数后面ne[idx]=ne[k]
- 第k个插入的数指向该元素 ne[k]=idx;
- idx指向下一个可存储元素的位置 idx++
void insert(int k,int x)
{
e[idx]=x;
ne[idx]=ne[k];
ne[k]=idx;
idx++;
}
删除索引为k的元素的后一个元素
- ne[k]的值更新为ne[ne[k]]
void dele(int k)
{
ne[k]=ne[ne[k]];
}
输出所有元素
void Print()
{
for(int i=head;i!=-1;i=ne[i])
cout<<e[i]<<' ';
}