資料結構 : Stack 堆疊 Queue 佇列

更新 發佈閱讀 4 分鐘

Stack 堆疊

特性

  • 先進後出(LIFO, Last In First Out)
  • 意思是:最後放進去的東西,會最先被拿出來。
  • 可以想像成:疊盤子,你最後放上去的盤子最先拿下來。

操作

  • push(item):放入堆疊
  • pop():取出並移除堆疊頂端的元素
  • peek():查看堆疊頂端元素,但不移除

Java 實作

import java.util.Stack;

public class StackExample {
public static void main(String[] args) {
Stack<String> stack = new Stack<>();

// 放入元素
stack.push("蘋果");
stack.push("香蕉");
stack.push("橘子");

System.out.println("目前堆疊: " + stack); // [蘋果, 香蕉, 橘子]

// 查看頂端元素
System.out.println("堆疊頂端: " + stack.peek()); // 橘子

// 取出元素
String removed = stack.pop();
System.out.println("拿出的元素: " + removed); // 橘子
System.out.println("剩下的堆疊: " + stack); // [蘋果, 香蕉]
}
}

Queue 佇列

特性

  • 先進先出(FIFO, First In First Out)
  • 意思是:最早放進去的東西,會最先被拿出來。
  • 可以想像成:排隊買票,排最前面的人最先被服務。

操作

  • offer(item):放入佇列
  • poll():取出並移除佇列最前端元素
  • peek():查看最前端元素,但不移除

Java 操作

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<>();

// 放入元素
queue.offer("蘋果");
queue.offer("香蕉");
queue.offer("橘子");

System.out.println("目前佇列: " + queue); // [蘋果, 香蕉, 橘子]

// 查看最前端元素
System.out.println("佇列最前面: " + queue.peek()); // 蘋果

// 取出元素
String removed = queue.poll();
System.out.println("拿出的元素: " + removed); // 蘋果
System.out.println("剩下的佇列: " + queue); // [香蕉, 橘子]
}
}

總結

Stack 想像是一個箱子, Queue 想像為排隊。





留言
avatar-img
Krist
2會員
11內容數
您好, 目前是軟體工程師 Krist
Krist 的其他內容
2026/01/29
本文將深入淺出地介紹 Set 資料結構的核心概念,強調其「不重複」與「順序不重要」的特性。展示 Set 的基本用法,並探討適用於 Set 的情境,例如去除重複資料、快速查找元素以及在學生、帳號、商品編號等場景的應用。此外,文章還將說明如何取得 Set 中的元素,最後總結 Set 的關鍵特點。
2026/01/29
本文將深入淺出地介紹 Set 資料結構的核心概念,強調其「不重複」與「順序不重要」的特性。展示 Set 的基本用法,並探討適用於 Set 的情境,例如去除重複資料、快速查找元素以及在學生、帳號、商品編號等場景的應用。此外,文章還將說明如何取得 Set 中的元素,最後總結 Set 的關鍵特點。
2025/11/27
本文旨在釐清初學者常混淆的陣列 (Array) 與串列 (List) 的差異。透過生動的比喻,闡述兩者的核心特性,如固定大小、資料型態統一性、存取速度等,並針對 Java 提供了 ArrayList 與 LinkedList 的應用情境分析,幫助開發者在不同場景下做出最佳選擇。
Thumbnail
2025/11/27
本文旨在釐清初學者常混淆的陣列 (Array) 與串列 (List) 的差異。透過生動的比喻,闡述兩者的核心特性,如固定大小、資料型態統一性、存取速度等,並針對 Java 提供了 ArrayList 與 LinkedList 的應用情境分析,幫助開發者在不同場景下做出最佳選擇。
Thumbnail
2025/11/26
深入解析雜湊表 (Hash Table) 的核心概念、運作原理、優缺點以及實際應用。瞭解雜湊函式如何實現 O(1) 的快速資料查找、新增與刪除,並探討雜湊衝突的解決方案,如鏈式串接與開放定址法。適用於軟體開發、資料庫與快取系統等場景。
Thumbnail
2025/11/26
深入解析雜湊表 (Hash Table) 的核心概念、運作原理、優缺點以及實際應用。瞭解雜湊函式如何實現 O(1) 的快速資料查找、新增與刪除,並探討雜湊衝突的解決方案,如鏈式串接與開放定址法。適用於軟體開發、資料庫與快取系統等場景。
Thumbnail
看更多
你可能也想看
Thumbnail
本篇文章從「交辦幻覺」談起,逐步拆解高效向下領導的五個關鍵步驟:設計交辦流程、運用「目的→成果→資源→步驟→時限」公式、確認對方真正理解,以及建立回報機制。透過這套說話設計術,不只能減少誤會與重工,更能激發下屬主動負責的執行力。主管不是大聲就有用,而是會「說人能懂的話」,才能讓領導變得有力又有溫度。
Thumbnail
本篇文章從「交辦幻覺」談起,逐步拆解高效向下領導的五個關鍵步驟:設計交辦流程、運用「目的→成果→資源→步驟→時限」公式、確認對方真正理解,以及建立回報機制。透過這套說話設計術,不只能減少誤會與重工,更能激發下屬主動負責的執行力。主管不是大聲就有用,而是會「說人能懂的話」,才能讓領導變得有力又有溫度。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
《「謝銘峻 醫師 2024.11.30」》 市面上有很多美白產品,但是大家都在選擇時常常會感到困惑,到底該怎麼挑選適合自己的美白成分才最有效過?然而,不同品牌的成分、濃度、使用感覺和效果都不太一樣,還有就是它們的美白原理也有所不同。這篇文章會幫你輕鬆搞懂美白佼佼者「熊果素」,告你這個成分的優勢,讓
Thumbnail
《「謝銘峻 醫師 2024.11.30」》 市面上有很多美白產品,但是大家都在選擇時常常會感到困惑,到底該怎麼挑選適合自己的美白成分才最有效過?然而,不同品牌的成分、濃度、使用感覺和效果都不太一樣,還有就是它們的美白原理也有所不同。這篇文章會幫你輕鬆搞懂美白佼佼者「熊果素」,告你這個成分的優勢,讓
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
在網站安全領域中,爬蟲與反爬蟲之間的對抗從來都不是單純的技術比拼,更是一場策略與節奏的博弈。當越來越多的自動化工具開始模擬真實用戶行為,單靠限流、封 IP、套 CAPTCHA 已難以應對。
Thumbnail
在網站安全領域中,爬蟲與反爬蟲之間的對抗從來都不是單純的技術比拼,更是一場策略與節奏的博弈。當越來越多的自動化工具開始模擬真實用戶行為,單靠限流、封 IP、套 CAPTCHA 已難以應對。
Thumbnail
什麼是資料結構 資料結構是資料在記憶體中的組織方式,包含資料的集合、彼此之間的關係,以及可以對這些資料進行的操作。 資料結構很像「收納」。 記憶體就像收納空間,資料是被收納的物品,而資料結構就是收納的方式。 在有限的空間下,不同的收納方式,會影響我們找資料的速度、使用的空間大小,以及新增或移除
Thumbnail
什麼是資料結構 資料結構是資料在記憶體中的組織方式,包含資料的集合、彼此之間的關係,以及可以對這些資料進行的操作。 資料結構很像「收納」。 記憶體就像收納空間,資料是被收納的物品,而資料結構就是收納的方式。 在有限的空間下,不同的收納方式,會影響我們找資料的速度、使用的空間大小,以及新增或移除
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News