编程基础/固定数组和动态数组
外观
固定数组是在创建和/或分配数组时确定其大小或长度的数组。[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 | 数组
|
追加
|
删除
|
- 动态数组
- 一种数据结构,包含一个允许添加或删除单个元素的元素集合。
- 固定数组
- 一种数据结构,包含一个元素集合,其大小或长度在定义或分配数据结构时确定。