在什么样的情况下,最好在常规链表上使用队列?如果列表单独或双重链接是无关紧要的。
答案 0 :(得分:1)
线性列表是 n 节点的序列(可能为零) 其中列表的基本结构属性是 项目出现在一行中的相对位置。哪一个 也就是说,对于任何给定的节点,我们只关心它的两个 相邻的邻居,即前后的邻居 节点
我们可能希望能够执行以下操作,
根据存储在结构中的基准,我们更多 可能比其他人更频繁地执行某些操作 在我们的申请中。
插入,删除和访问的线性列表 值始终出现在第一个节点或最后一个节点是常见的,并且 因此,他们被赋予了特殊名称。
队列是一个线性列表,所有插入都在一个列表中进行 列表的末尾和所有删除和访问都在 另一端。
链接列表通常会为我们提供一系列操作 为我们提供了遍历整个结构的能力 在每个节点上执行操作(并且通过扩展,执行所有操作 节点)。
这一对通过一组来区分彼此 他们提供的业务。这两个传统上是在实施的 不同的方式使他们各自的操作更多 高效。
链表通常更适合用于这种情况的用例 要求对列表中的任何节点进行读/写访问。
队列更适合所谓的producer/consumer situations 生产者和消费者以异步方式与数据结构进行交互的地方和人们想要的地方 按照它们的顺序使用数据结构中的项 插入,即先进先出(FIFO)。
答案 1 :(得分:0)
队列是链接列表的特定组织。因此,当您想暗示队列是使用数据的最佳方式时,使用队列是切实可行的。例如,您可能希望在不希望用户访问队列的下一个项目之外的数据时使用队列而不先清空它,或者如果您想在添加到队列之前订购数据