用数组模拟单链表
head 表示单链表的头
cnt 表示 数组坐标
const int N = 1e6 +10;
int e[N],ne[N]; //e[N]表示该数组节点存储的值的大小,ne[N]表示该数组节点后续节点的坐标
void init()/*初始化*/{
head = -1;// 后续节点为-1的表示这是该链表的尾节点
cnt=0;
}
void add(int k,int x){
//在数组下标为k的节点后插入值为x的节点
e[cnt]=x;
ne[cnt]=ne[k];
ne[k]=cnt++;
}
void sub(int k)/*删除数组下标为k+1的节点*/{
ne[k]=ne[ne[k]];
}

浙公网安备 33010602011771号