【发布时间】:2021-02-11 15:26:41
【问题描述】:
我在这里寻找一些澄清/确认。
据我了解,堆栈可以使用单链表来实现,因为所有堆栈操作都在堆栈的顶部(头部)执行。也就是说,每个栈节点只需要一个指向next节点的指针。
但是,在队列中,我们需要在队列的前端和后端执行操作(即 enqueue() 和 dequeue())。这是否意味着,必须在双向链表(即每个节点同时具有next 和previous 指针的链表)上构建正确的队列实现?
谢谢!
【问题讨论】:
-
已经回答了,但是前后的操作仅限于push_front()和pop_back()。也可能有 peek 操作,例如 peek_back(),虽然 peek_front() 是可能的,但它是不寻常的。
标签: javascript linked-list stack queue