【问题标题】:Push Pop Enqueue/dequue推送弹出入队/出队
【发布时间】:2019-05-05 01:53:25
【问题描述】:

哪种数据结构同时支持推送和弹出以及入队/出队操作? push 和 pop 都是堆栈,而 enqueue/dequeue 是队列。现在一个数据结构怎么可能支持所有 4 个。

【问题讨论】:

标签: java data-structures queue


【解决方案1】:

如果您希望使用不同的数据结构实现上述功能,双向链表将是完美的选择。您可以保留 2 个指针,一个在头部,另一个在尾部。 LIFO 和 FIFO 技术可以用这个来模仿。

【讨论】:

    【解决方案2】:

    正如文档所述,Deque 可用作 FIFO(先进先出)队列,也可用作 LIFO(后进先出)堆栈。 您正在寻找的队列方法是addFirst(e),它相当于enqueueaddLast(e),在其他语言中称为dequeue。 它还有push(e)pop() 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      • 2022-11-21
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多