当前位置: 首页 > 知识库问答 >
问题:

按Pop入队/出队

储嘉悦
2023-03-14

哪种数据结构同时支持推送和弹出以及入/出队列操作?推送和弹出都是堆栈,入/出队列都是队列。现在,一个单一的数据结构如何支持所有4个。

共有2个答案

孙梓
2023-03-14

如果您希望使用不同的数据结构实现上述功能,那么双链接列表将是完美的选择。你可以保留两个指针,一个在头部,另一个在尾部。后进先出技术和先进先出技术可以用这个来模仿。

汪跃
2023-03-14

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

 类似资料:
  • 问题内容: 我有一个分布式系统,在一个地方,我在Redis列表中插入大约10000个项目,然后调用我的多个应用程序钩子来处理项目。我需要的是具有一些项目的ListLeftPop类型的方法。它应该从redis列表中删除项目并返回到我的调用应用程序。 我正在使用Stackexchange.Resis.extension 我目前用于获取(不弹出)的方法是 对于流行音乐,我有一个摘录 但这仅适用于单个项目

  • pop 方法 删除并返回数组的最后一个元素。 语法: arrayObject.pop(); 返回值: arrayObject 的最后一个元素。 说明: pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。 如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。 示例: var Arr = [1, 2, 3,

  • 描述 (Description) Javascript数组pop()方法从数组中删除最后一个元素并返回该元素。 语法 (Syntax) 其语法如下 - array.pop(); 返回值 (Return Value) 从数组中返回已删除的元素。 例子 (Example) 请尝试以下示例。 <html> <head> <title>JavaScript Array pop Meth

  • 描述 (Description) KnockoutJS Observable pop()方法从数组中删除最后一项并返回它。 语法 (Syntax) arrayName.pop() 参数 (Parameters) 不接受任何参数。 例子 (Example) <!DOCTYPE html> <head> <title>KnockoutJS ObservableArray pop m

  • pop

    描述 (Description) 此函数返回ARRAY的最后一个元素,从数组中删除该值。 请注意,ARRAY必须显式为数组,而不是列表。 如果省略ARRAY,它会弹出主程序中@ARGV的最后一个值,或者在eval STRING或BEGIN,CHECK,INIT或END块中调用时。 否则,它会尝试在子例程中弹出@_数组中的信息。 它与push相反,当组合使用时,允许您实现“堆栈”。 请注意,应用po

  • pop

    描述 (Description) 它类似于remove()方法,它接受模型数组并从集合中删除模型。 语法 (Syntax) collection.pop(models, options) 参数 (Parameters) models - 它包含需要从集合中弹出的集合实例的名称。 options - 它包括将从集合中删除的模型类型。 例子 (Example) <!DOCTYPE html> <ht