動變: 過去式:arrayed 過去分詞:arrayed 現在進行時:arraying
名複: arrays
窗口將在 5秒后自動關閉.
動變: 過去式:arrayed 過去分詞:arrayed 現在進行時:arraying
名複: arrays
在電腦科學中,陣列資料結構(英語:array data structure),簡稱陣列(英語:Array),是由相同類型的元素(element)的集合所組成的資料結構,分配一塊連續的主記憶體來儲存。利用元素的索引(index)可以計算出該元素對應的儲存位址。
最簡單的資料結構類型是一維陣列。例如,索引為0到9的32位元(4個位元組)整數陣列,可儲存10個變數,位於記憶體位址2000,2004,2008,...2036中,因此索引為i的元素即在記憶體中的2000+4×i位址。陣列第一個元素的記憶體位址稱為第一位址或基礎位址。
二維陣列,對應於數學上的矩陣概念,可表示為二維矩形格。例如:在C語言中表示為int a[3][3] = {{3, 6, 2}, {0, 1, -4}, {2, -1, 0}};
。
在某些情況下,「向量」一詞也可能代表二維陣列,雖然在數學意義上更確切地稱呼為元組(tuple),而不是向量。但需要注意的是:電腦科學的某些領域,如Matlab,元組是指類似C語言struct類型,具有固定的往往是不同類型的資料成員的資料結構。
陣列通常用於實作資料庫的表格,特別是查詢表;表格有時也被當作是陣列的同義詞。
陣列是最早期和最重要的資料結構之一,很多程式都會用到陣列。它們也用於實作許多其他資料結構,譬如列表(list)和字串(string)。它們有成效地開展了計算機的定址邏輯。在大多數現代計算機和許多外部儲存裝置中,記憶體如同一維陣列,索引就是其位址。編譯器、處理單元(特別是向量處理器),經常會針對陣列操作進行優化。
因為在程式運行時可以計算元素的索引,陣列是很有用的。此外,也能以單一迭代語句就處理陣列的許多元素。為此,陣列資料結構的元素必須具有相同的大小,而且應該使用相同的資料型別表示。
陣列一詞通常用於表示陣列資料類型,一種大多數高階程式語言都會內建的資料型別。陣列型別通常由陣列結構來實作;然而在某些語言中,它們可以由雜湊表、連結串列、搜尋樹或其它資料結構來實現。
在演算法的描述中,陣列一詞特別著重意義為關聯陣列或「抽象的陣列」,一種理論上的電腦科學模型(抽象數據類型或 ADT),專注於陣列的基本性質上。