二维vector<vector<pair<int,int>>>
时间: 2023-10-22 07:20:28 浏览: 50
二维 vector<vector<pair<int,int>>> 表示了一个二维数组,其中每个元素是一个 vector,而每个 vector 中的元素是一个 pair,pair 中存储了两个 int 类型的值。
这种数据结构通常用于表示稀疏矩阵,其中第一维表示行,第二维表示列,每个元素是一个非零的值和它的列坐标。例如,下面是一个 3x4 的稀疏矩阵:
```
0 0 0 0
0 0 2 0
0 3 0 0
```
可以用以下代码来表示:
```cpp
vector<vector<pair<int,int>>> mat(3);
mat[1].push_back({2, 2});
mat[2].push_back({3, 1});
```
其中 mat[1][0] 表示第 2 行第 3 列的值为 2,mat[2][0] 表示第 3 行第 2 列的值为 3。其它位置都是 0,可以省略不存储。
相关问题
vector<vector<int>> snapshot(76,vector<int>(76)); vector<pair<int,int>> link_table; vector<string> name_;
这是一个定义了三个变量的语句:
- `snapshot` 是一个二维的 vector,其大小为 76 行 76 列,每个元素都是 int 类型。
- `link_table` 是一个 pair<int, int> 类型的 vector,用于存储两个 int 值组成的键值对。
- `name_` 是一个字符串类型的 vector,用于存储多个字符串。
需要注意的是,这里定义的变量都没有被初始化,其值是未知的。如果需要使用这些变量,需要先对它们进行初始化。
vector<pair<int,int>> 是二维数组还是一维数组
vector<pair<int,int>> 是一维数组,它是一个 vector 容器,其中每个元素都是一个 pair<int,int> 类型的对象。每个 pair 对象表示一个二元组,相当于一个长度为 2 的一维数组。因此,vector<pair<int,int>> 可以看作一个长度可变的一维数组,其中每个元素都是长度为 2 的一维数组。