[数据结构学习笔记6] 队列(Queue)

队列和堆栈类似,但是它是一种先进先出的结构。FIFO (first in first out)。

代码实现,javascript

复制代码
class Queue {
  constructor() {
        this.items = new LinkedList();      
    }  

  clear() {
         this.items = new LinkedList();  
    }  

  contains(item) {
         return this.items.contains(item);
    }  

  peek() {
         return this.items.head.data;  
    }  

  dequeue() {
         let removedItem = this.items.head.data;
         this.items.removeFirst();
         return removedItem;
    }  

  enqueue(item) {
         this.items.addLast(item);
    }  

  getLength() {
          return this.items.length;
    }  
}
复制代码

使用Queue

复制代码
// create new Queue object
let myQ = new Queue();

// add two items
myQ.enqueue("Item 1");
myQ.enqueue("Item 2");

// remove item
let removedItem = my.dequeue(); // returns Item 1
复制代码

时间复杂度

行为 最佳 平均 最差
Enqueue (Insert) O(1) O(1) O(1)
Dequeue (Remove) O(1) O(1) O(1)
Peek O(1) O(1) O(1)
Search / Contains O(1) O(n) O(n)
Memory O(n) O(n) O(n)
posted @   Eagle6970  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示