📜  2d stl 数组 - C++ (1)

📅  最后修改于: 2023-12-03 14:38:51.218000             🧑  作者: Mango

2D STL 数组 - C++

本文将介绍 C++ 中的 2D STL 数组,包括定义方式、元素访问、插入和删除等操作。

定义

C++ 中可以使用 STL 中的 vector 类定义 2D 数组。定义一个 $n \times m$ 的 2D 数组可以使用以下语句:

vector<vector<int>> arr(n, vector<int>(m));

这行代码定义了一个名为 arr 的二维向量,其中每个元素为一个整数。nm 分别表示数组的行数和列数。可以将数组的大小视为一个矩阵。

元素访问

使用双重循环来访问二维数组中的每个元素,核心代码如下:

for(int i = 0; i < n; i++) {
    for(int j = 0; j < m; j++) {
        int element = arr[i][j];
        // 对元素进行操作
    }
}

这段代码可以依次访问矩阵中的每个元素。

插入和删除

可以使用 STL 中的 push_backpop_back 函数向数组中添加或删除元素。例如,向矩阵中添加一行可以使用以下代码:

arr.push_back(vector<int>(m));

这行代码将在矩阵的末尾添加一行,该行包含 $m$ 个元素。

删除最后一行可以使用以下代码:

arr.pop_back();

这行代码将从矩阵的末尾删除最后一行。

总结

本文介绍了如何在 C++ 中使用 STL 定义和操作二维数组。这些技巧非常实用,在解决许多算法问题时非常有用。需要注意的是,它们可能有一些性能上的限制,而在处理大型数组时可能需要使用其他数据结构。