数据结构——数组
数组是一种线性数据结构,用于存储相同类型的元素序列。它是一组连续的内存空间,每个元素都可以通过索引访问。
在C++中,数组的声明和初始化如下所示:
// 声明一个整数数组
int arr[5];
// 声明并初始化一个整数数组
int arr[5] = {1, 2, 3, 4, 5};
上述示例声明了一个具有5个整数元素的数组。在初始化时,我们指定了数组中每个元素的初始值。
通过索引访问数组元素非常简单。索引从0开始,依次递增。以下是一些对数组进行操作的示例:
// 访问数组中的元素
int element = arr[2]; // 获取索引为2的元素,即第3个元素
// 修改数组中的元素
arr[3] = 10; // 将索引为3的元素修改为10
// 遍历数组并输出每个元素
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
数组的主要特点如下:
- 元素类型相同:数组中的所有元素必须是相同的数据类型,例如整数数组、字符数组等。
- 连续的内存空间:数组的元素在内存中是连续存储的,这使得可以通过索引直接访问元素。
- 固定大小:数组在创建时需要指定固定的大小,一旦创建后,其大小不能更改。
- 随机访问:由于数组中的元素是通过索引访问的,因此可以在O(1)时间复杂度内随机访问任何元素。
虽然数组提供了高效的随机访问,但其大小固定的特性可能限制了其灵活性。当需要在运行时动态调整大小或插入/删除元素时,可以使用其他数据结构,如动态数组或链表。