【发布时间】:2015-11-16 01:15:07
【问题描述】:
我最近开始学习数据结构,并且刚刚有了自己的linked list 实现。
现在我偶然发现了两个新的数据结构:stack 和 queue。
从我目前了解到的情况来看stack 是一个 linked list,它只允许从它的尾部插入/移除,queue 是一个 linked list,它只允许在它的尾部插入和移除从它的头上。
我的问题是:
为什么我要使用这两种数据结构而不是允许从任何地方插入和删除的常规 linked list?
还有,为什么将这两种数据结构归类为独立的数据结构,而不是“受限访问链表”?
【问题讨论】:
-
栈和队列是基本的DS抽象。它们不必使用链表来实现。 stack和queue分别代表了我们日常生活中想要的两个属性FILO和FIFO。
标签: data-structures linked-list stack queue