佇列(Queue)
概念

佇列(Queue)是一種資料結構,遵循 "First-In-First-Out"(FIFO)原則,即先進先出。
- 【用途】多個程式的排程(schedule),其中先進來的資料會被先處理
- 【情境】排隊買票,先到的人先買完離開
時間複雜度
- 遍歷:O(n)
- Pop: O(1)
- Push: O(1)
- Peek: O(1)
實作 Queue
屬性方法:
- enqueue:尾端新增一個元素
- dequeue:刪除頭部第一個元素
- front: 查看佇列第一個元素
- isEmpty:判斷佇列是否為空
- clear: 移除佇列的所有元素
- size: 回傳佇列內的元素個數,也就是資料長度
使用陣列實作 Queue
class Queue {
  constructor() {
    this.items = []; //使用陣列儲存 Queue 的元素
  }
  enqueue(element) {
    this.item.push(element);
  }
  dequeue() {
    return this.items.shift();
  }
  front() {
    return this.items[0];
  }
  isEmpty() {
    return this.items.length === 0;
  }
  clear() {
    this.items = [];
  }
  size() {
    return this.items.length;
  }
}
//建立實體
const queue = new Queue();