首頁
學習紀錄
遊戲心得影視Life書單案件檔案
Side Projects委託作品與二創互動實驗場
Kurau
百百 BLOG
首頁
學習紀錄
遊戲心得影視Life書單案件檔案
Side Projects委託作品與二創互動實驗場
Kurau

Kurau Blog

「隨心而寫,真真假假,都是我」

一個記錄生活、輸出興趣的個人空間。
遊戲、影視、閱讀、學習……每一段體驗都值得留下文字。

頁面導覽

  • 學習紀錄
  • 遊戲心得
  • 影視Life
  • 書單
  • 委託作品與二創
  • Kurau
  • 合作邀請

找到我

歡迎來 Discord 找我聊天!

“曾經發生的事不可能忘記,只是暫時想不起來而已。”-《神隱少女》

© 2026 Kurau All rights reserved

面試考題

堆疊Stack與佇列Queue

By Kurau·Updated 2026-05-09·2 分鐘閱讀

目錄

堆疊Stack

先入後出(FILO, First-in-Last-out)

  • 推入 push():將資料放入堆疊頂端,堆疊頂端移到新放入的資料。

  • 彈出 pop():將堆疊頂端資料移除,堆疊頂端移到移除後的下一筆資料。

  • peek(): 查出堆疊最上方的元素

  • size(): 查出堆疊共有幾個元素

  • isEmpty(): 是否堆疊內無元素

佇列Queue

先進先出 (First In First Out, FIFO)

可以使用push( )與shift( )來實現。

程式碼範例

Stack 實作

class Stack {
  constructor() {
    this.items = [];
  }
  push(item) { this.items.push(item); }
  pop() { return this.items.pop(); }
  peek() { return this.items[this.items.length - 1]; }
  size() { return this.items.length; }
  isEmpty() { return this.items.length === 0; }
}
JavaScript

Queue 實作

class Queue {
  constructor() {
    this.items = [];
  }
  enqueue(item) { this.items.push(item); }
  dequeue() { return this.items.shift(); }
  front() { return this.items[0]; }
  size() { return this.items.length; }
  isEmpty() { return this.items.length === 0; }
}
JavaScript

常見應用

資料結構應用場景
Stack程式呼叫堆疊、括號配對、「上一步」功能、DFS
QueueBFS、任務排程、訊息佇列、印表機佇列

目錄

  • **佇列Queue**

◆ 相關文章

  • 聽過Event Loop嗎

    聽過Event Loop嗎

    2026-05-09
  • Async function-Await 函式

    2026-06-02
  • throw Error用法

    2026-06-02
  • TypeScript 特性 - Interface

    2026-06-02
← 上一篇型別轉換下一篇 →如何取消Event的預設行為

◆ 關於作者

Kurau

個人寫作 / 創作的 SoT,記錄遊戲、影視、學習與生活。

更多 Kurau 的文章