链表不是一排值,而是一组关系
数组把元素放在连续位置里,通过下标寻址;链表把每个值放进节点,再用指针描述下一个或上一个节点。Head 和 Tail 是进入结构的入口,不是普通节点的别名。
每个节点只保存 Next;向前简单,反向移动需要重新寻找。
同时保存 Prev 与 Next;删除已知节点方便,但必须维护双向一致。
按下标读取是 O(1);中间插删通常需要搬动后续元素。
Head Tail │ │ ▼ ▼ [ nil | A | B ] ⇄ [ A | B | C ] ⇄ [ B | C | nil ]