链表

链表

数组模拟链表

  1. 所需变量
    1
    2
    3
    4
    5
    6
    int e[N],ne[N],idx
    // head 代表头指针
    // e[N] 代表节点元素的值
    // ne[N] 代表节点元素的next指针,即其所指向的下一个节点的下标
    // idx 代表目前已经已经用到哪个节点了

  2. 初始化操作
1
2
head = -1; //初始时头指针指向NULL
idx = 0;
  1. 将x插到头节点
1
2
3
4
e[idx] = x;
ne[idx] = head;
head = idx;
idx++;
  1. 将x插到下标是k的点后面
1
2
3
4
e[idx] = x;
ne[idx] = ne[k];
ne[k] = idx;
idx++;
  1. 删除下标为k的数(即为第k-1个插入的数)后面的那一个节点
1
ne[k] = ne[ne[k]];

链表
https://cs-lb.github.io/2024/04/04/数据结构/链表/
作者
Liu Bo
发布于
2024年4月4日
许可协议