跳转到内容

编程基础/固定和动态数组

来自维基教科书,开放的书籍,面向开放的世界

固定数组是在创建和/或分配时确定其大小或长度的数组。[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 数组 追加 删除

关键词

[编辑 | 编辑源代码]
动态数组
一种数据结构,由一个元素集合组成,允许添加或删除单个元素。
固定数组
一种数据结构,由一个元素集合组成,在定义或分配数据结构时确定其大小或长度。

参考文献

[编辑 | 编辑源代码]
华夏公益教科书