怎么创建一个二维vector
时间: 2023-07-14 08:07:59 浏览: 63
要创建一个二维的 vector,你可以使用嵌套的 vector 来实现。下面是一个创建二维 vector 的示例代码:
```
#include <iostream>
#include <vector>
int main() {
int rows = 3; // 二维 vector 的行数
int cols = 4; // 二维 vector 的列数
// 创建一个二维 vector,并初始化为 0
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols, 0));
// 修改二维 vector 的元素值
matrix[0][0] = 1;
matrix[1][2] = 2;
matrix[2][3] = 3;
// 输出二维 vector 的元素值
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
这段代码创建了一个 3x4 的二维 vector,并将所有元素初始化为 0。然后,通过修改元素值并输出,你可以看到二维 vector 的使用方法。希望能帮到你!
相关问题
用c++写一个使用智能指针 创建一个二维vector指针对象的例子
示例代码:
#include <iostream>
#include <memory>int main()
{
// 创建一个二维vector指针
std::unique_ptr<std::vector<std::vector<int>>> vec2d_ptr(new std::vector<std::vector<int>>()); // 使用智能指针添加一维vector
vec2d_ptr->push_back(std::vector<int>()); // 添加一维vector中的元素
vec2d_ptr->at(0).push_back(10);
vec2d_ptr->at(0).push_back(20);
vec2d_ptr->at(0).push_back(30); // 打印元素
for (const auto &vec : *vec2d_ptr) {
for (const auto &val : vec)
std::cout << val << " ";
std::cout << std::endl;
} return 0;
}
c++ 二维vector转一维
在C++中,可以使用以下方法将二维vector转换为一维vector:
```cpp
#include <iostream>
#include <vector>
int main() {
// 创建一个二维vector
std::vector<std::vector<int>> twoDVector = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 将二维vector转换为一维vector
std::vector<int> oneDVector;
for (const auto& row : twoDVector) {
oneDVector.insert(oneDVector.end(), row.begin(), row.end());
}
// 打印转换后的一维vector
for (const auto& num : oneDVector) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码中,我们首先创建了一个二维vector `twoDVector`,然后使用一个循环遍历二维vector的每一行,并将每个元素插入到一维vector `oneDVector` 中。最后,我们打印出转换后的一维vector。