什麼是 Array (陣列) ?

1
什麼是 Array (陣列) ?:陣列(Array)是程式設計中用來儲存相同類型資料元素的有序集合,讓開發者能高效管理多個相關資料。它透過索引快速存取元素,是資料結構的基礎,廣泛應用於列表、矩陣等場景。

什麼是 Array (陣列) ?

陣列(Array)是程式設計中用來儲存相同類型資料元素的有序集合,讓開發者能高效管理多個相關資料。它透過索引快速存取元素,是資料結構的基礎,廣泛應用於列表、矩陣等場景。

 

陣列的定義與特性

陣列是一種固定大小的資料結構,元素依序排列於連續記憶體空間中,每個元素由從0開始的索引標示。

主要特性:

  • 有序性:元素依索引順序存取,如array[0]為第一個元素。

  • 同質性:所有元素須相同資料型態,如全為整數。

  • 固定大小:宣告後長度不變,插入或刪除需重建陣列。

  • 隨機存取:透過索引O(1)O(1)時間直接讀取,效率高。

相較鏈結串列,陣列存取快但調整彈性差。

 

宣告與初始化方式

大多數語言使用方括號宣告陣列,並可同時初始化。

常見範例(以C++/Java/Python為例):

語言 宣告語法 初始化範例
C++ int arr[5]; int arr[] = {1, 2, 3};
Java int[] arr = new int[5]; int[] arr = {1, 2, 3};
Python arr = [0] * 5 arr = [1, 2, 3]

多維陣列如二維int[][] matrix = new int[3][4];,模擬表格結構。

 

操作與常見應用

陣列支援遍歷、搜尋、排序等操作,常搭配迴圈使用。

基本操作:

  • 存取:arr[index] = value

  • 遍歷:for(int i=0; i<length; i++)累加總和。

  • 長度:如Java的arr.length或Python的len(arr)

應用示例:

  • 資料批次處理:AI訓練資料集存為陣列。

  • 影像處理:像素值以二維陣列表示。

  • 排序演算法:如氣泡排序交換陣列元素。

Python範例計算平均值:

scores = [85, 92, 78, 96]
avg = sum(scores) / len(scores)  # 約87.75

 

注意事項與限制

陣列索引易越界,需檢查範圍避免錯誤(如IndexOutOfBounds)。​

進階替代:

  • 動態陣列:如Python list或Java ArrayList,自動擴展。

  • 高維:NumPy ndarray支援向量化運算,提升AI效率。