vector <int > arr[100] 这是二维数组吗
时间: 2023-12-18 15:02:45 浏览: 28
不是二维数组,这是一个数组,其中每个元素都是一个 `vector<int>`。这个数组的大小是100,每个元素都可以存储不同长度的整数序列。如果想要表示二维数组,可以使用 `vector<vector<int>>`,其中第一个vector表示行,第二个vector表示列,例如:
```
vector<vector<int>> arr(100, vector<int>(100, 0)); // 创建一个100x100的二维数组,初始值为0
```
其中,第一个参数表示行数,第二个参数表示列数,第三个参数表示初始值。可以通过下标访问元素:
```
int value = arr[row][col];
```
相关问题
vector<vector<int>> arr(n, vector<int>(n));这句话具体解释
这句话使用了 C++ 的 vector 容器,创建了一个 n 行 n 列的二维数组。
`vector<vector<int>>` 表示一个二维 vector,其中每一行都是一个 vector<int> 类型的 vector。
`vector<int>(n)` 表示创建一个大小为 n 的 int 类型 vector。
`vector<vector<int>> arr(n, vector<int>(n))` 表示创建一个大小为 n 的二维 vector,其中每一行都是一个大小为 n 的 int 类型 vector,这样就得到了一个 n 行 n 列的二维数组。
可以把这个语句理解为将一个大小为 n 的 vector,每个元素都初始化为一个大小为 n 的 vector,这个二维 vector 就是我们所需要的二维数组。
怎么在vector<vector<int>>后面加数组
要在vector<vector<int>>后面加数组,可以使用push_back()函数。假设要加的数组为arr,代码如下:
```
vector<vector<int>> vec;
vector<int> arr = {1, 2, 3};
vec.push_back(arr);
```
这样,vec就成为了一个二维向量,其中包含一个一维向量{1, 2, 3}。如果要加入多个数组,可以依次调用push_back()函数。例如:
```
vector<int> arr2 = {4, 5, 6};
vector<int> arr3 = {7, 8, 9};
vec.push_back(arr2);
vec.push_back(arr3);
```
这样就得到了一个包含三个一维向量的二维向量。