什麼是陣列?
陣列(array)是程式裡最古老、卻也最被低估的資料結構之一。它的核心想法很單純:
連續記憶體 + 以 index 直接存取
視覺化看一遍
接下來這段 30 秒的動畫會把「連續記憶體」與「index 存取」用具體的格子展示出來:
載入動畫中…
第三秒之後,你會看到 arr[3] 被高亮 — 這就是 O(1) 存取:給定 index,CPU 不用走訪前面的元素,直接算出記憶體位址就能拿到值。
動手玩玩看
知識上知道是一回事,動手點一下感覺最深刻。下面這個小元件給你一段陣列,hover 看 index → value,把每個格子都點過一輪:
點擊每個格子,看看 arr[i] 對應到哪個值。把所有格子點過一輪就會自動標記完成。
已點 0 / 6
重點整理
連續記憶體
陣列的所有元素挨著放在一起。這帶來 cache 友善與 index 算式存取兩個好處。
O(1) 存取
給定 index,直接拿到值。不用 traverse、不用比較。這是 array 的招牌效能。
大小通常固定
傳統 array 一旦配置就大小固定。動態擴張(dynamic array / vector)背後其實是「滿了就配一塊更大的、把舊的搬過去」。
自我檢查
檢查
這節課我能說出來
登入後可勾選保存進度。
讀取上次狀態…
反思
你想到陣列適合用在什麼場景?
想一個你自己寫過、或最近看過的程式碼,裡面在哪段用了陣列?為什麼選陣列而不是別的?
登入後即可寫下你的反思(自動儲存)。在這個 lesson 寫下的任何文字 僅你自己看得到。
接下來會進入小測驗,確認你抓到重點。