怎么用vector插入二维数组
时间: 2024-11-23 12:13:32 浏览: 22
在C++中,你可以使用`std::vector`来表示二维数组。如果你想要插入元素到二维`vector`,可以直接使用`push_back()`方法配合嵌套的`insert()`操作。下面是一个示例,假设你要在二维`vector<int>`里插入新的行:
```cpp
#include <vector>
// 定义二维向量模板
template<typename T>
std::vector<std::vector<T>> createMatrix(size_t rows, size_t cols) {
std::vector<std::vector<T>> matrix(rows, std::vector<T>(cols));
return matrix;
}
// 向二维向量插入新行
void insertRow(std::vector<std::vector<int>>& matrix, const std::vector<int>& newRow) {
// 检查新行长度是否与现有列数匹配
if (newRow.size() != matrix[0].size()) {
throw std::runtime_error("New row has incorrect number of elements");
}
// 使用insert方法插入新行
matrix.push_back(newRow);
}
int main() {
// 创建一个3x3的二维向量
std::vector<std::vector<int>> matrix = createMatrix(3, 3);
// 新的一行数据
std::vector<int> newRow = {4, 5, 6};
// 插入新行
insertRow(matrix, newRow);
// 打印结果
for(const auto& row : matrix) {
for(const auto& elem : row) {
std::cout << elem << ' ';
}
std::cout << '\n';
}
return 0;
}
```
在这个例子中,`insertRow`函数接受一个二维向量和一个新行,检查新行的元素数量与当前列数是否匹配,然后使用`push_back()`在向量的末尾添加新行。
阅读全文