程式設計基礎/固定陣列和動態陣列
外觀
固定陣列是在建立和/或分配陣列時確定其大小或長度的陣列。[1]
動態陣列是一種隨機訪問、可變大小的列表資料結構,允許新增或刪除元素。 它在許多現代程式語言的標準庫中提供。 動態陣列克服了靜態陣列的限制,靜態陣列具有在分配時需要指定的固定容量。[2]
靜態陣列的大小或長度在建立和/或分配陣列時確定。 因此,它們也可能被稱為固定長度陣列或固定陣列。 陣列值可以在定義陣列時指定,或者可以在不指定陣列內容的情況下定義陣列大小。 根據程式語言的不同,未初始化的陣列可能包含預設值,或者可能包含先前分配時留在記憶體中的任何值。
| 語言 | 定義的值 | 固定長度,未定義或預設值 |
|---|---|---|
| C++ | int values[] = {0, 1, 2};
|
int values[3];
|
| C# | int[] values = {0, 1, 2};
|
int[] values = = new int[3];
|
| Java | int[] values = {0, 1, 2};
|
int[] values = = new int[3];
|
| JavaScript | var values = [0, 1, 2];
|
var values = new Array(3);
|
| Python | values = [0, 1, 2]
|
values = [None] * 3
|
| Swift | var values:[Int] = [0, 1, 2]
|
var values: [Int] = [Int](repeating: 0, count: 3)
|
動態陣列允許在執行時新增和刪除元素。 大多數當前的程式語言都包含用於建立和管理動態陣列的內建或標準庫函式。
| 語言 | 類 | 新增 | 刪除 |
|---|---|---|---|
| C++ | #include <list>std::list
|
插入
|
刪除
|
| C# | System.Collections.Generic.List
|
新增
|
刪除
|
| Java | java.util.ArrayList
|
新增
|
刪除
|
| JavaScript | 陣列
|
push, splice |
pop, splice |
| Python | 列表
|
追加
|
刪除
|
| Swift | 陣列
|
追加
|
刪除
|
- 動態陣列
- 一種資料結構,包含一個允許新增或刪除單個元素的元素集合。
- 固定陣列
- 一種資料結構,包含一個元素集合,其大小或長度在定義或分配資料結構時確定。