二维vector的一般用法
时间: 2023-10-27 15:51:56 浏览: 91
二维vector是指一个向量的向量,也就是一个二维数组。其一般用法如下:
1. 声明二维vector:可以使用vector<vector<int>>来声明一个二维vector,其中int可以换成其他类型。
2. 初始化二维vector:可以使用resize函数来初始化二维vector,也可以使用嵌套的vector来初始化。
3. 访问二维vector:可以通过下标访问二维vector,也可以使用迭代器来访问。
4. 遍历二维vector:可以使用双重循环来遍历二维vector,也可以使用STL算法来遍历。
5. 修改二维vector:可以使用下标或迭代器来修改二维vector中的元素。
6. 插入和删除元素:可以使用insert和erase函数来插入和删除元素。
7. 操作二维vector:可以使用STL算法来对二维vector进行排序、查找等操作。
总之,二维vector的使用和一维vector类似,只需要注意多维的索引和迭代器的使用即可。
相关问题
二维vector的用法
### C++ 中二维 `vector` 使用详解
#### 1. 基本定义与初始化
在 C++ 中,可以使用标准库中的 `std::vector` 来创建动态数组。对于二维 `vector`,可以通过嵌套的方式实现。以下是几种常见的初始化方法:
- **指定行列数并默认填充**
通过构造函数参数来设定行数和每行的列数以及初始值。
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int r = 3;
int c = 4;
// 创建一个3x4的二维vector,默认值为0
vector<vector<int>> matrix(r, vector<int>(c, 0));
}
```
此段代码展示了如何快速建立具有特定尺寸且所有元素都设定了初值的数据结构[^2]。
#### 2. 利用初始化列表赋值
除了上述批量设置外,还可以采用更直观的方法——利用大括号内的逗号分隔序列来进行精确位置上的数据赋予。
```cpp
// 定义一个2*2矩阵,并给定具体数值
vector<vector<int>> example{{1, 2}, {3, 4}};
```
这种方式适用于已知确切内容的情形下,使程序更加简洁明了[^3]。
#### 3. 动态调整大小
有时可能无法预先知道最终所需的存储空间大小,在这种情况下,可先声明空容器随后按需增长其容量。
```cpp
vector<vector<int>> dynamicMatrix;
dynamicMatrix.resize(5); // 调整到五行
for (auto& row : dynamicMatrix){
row.assign(6, -1); // 给每一行分配六个单元格并将它们置为-1
}
```
这段例子说明了即使是在运行期间也能灵活改变对象形态的能力[^1]。
#### 4. 访问与修改元素
一旦建立了合适的多维向量之后,就可以像处理常规数组那样读取或更改其中的内容了;只需注意索引是从零开始计数的事实即可。
```cpp
matrix[0][0] = 7; // 修改第一个元素
cout << matrix.at(1).at(2); // 输出第二行第三列处保存的信息(安全版本)
```
这里提供了两种不同的访问途径:直接指针运算符[] 和成员函数 at() ,后者能够提供越界保护机制从而提高安全性。
二维vector+c+++用法
二维vector c++用法示例:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> matrix; // 定义一个二维vector
// 添加元素
matrix.push_back({1, 2, 3});
matrix.push_back({4, 5, 6});
matrix.push_back({7, 8, 9});
// 访问元素
cout << matrix[1][2] << endl; // 输出6
// 遍历元素
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[i].size(); j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果:
```
6
1 2 3
4 5 6
7 8 9
```
在二维vector中,每个元素都是一个一维vector。因此,可以通过访问二维vector的第一维和第二维来访问元素。可以使用嵌套循环来遍历二维vector中的所有元素。
阅读全文