①链表 ②栈 ③队列 ④双向链表 ⑤双端队列
这物种结构的插入操作都是相同的,而查找/插入/移除有些微差别。
- 栈,只能从头/栈顶执行peek/push/pop操作,都是严格受限的。
- 队列,只能从队首peek,从队尾push,从队首pop。
- 双端队列,只能从两端peek/enqueue/dequeue,而不能从中间操作。
顺序链表和双向链表没有上述限制。
讨论
下面对链表做一些深入的讨论:
- 若不存储尾指针
- 若使用
dummy head
- 若
tail
元素指向head
元素
标准实现
todo…
在线练习
在线练习
UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)
Kattis - backspace
Kattis - integerlists