vector<vector<int>>& mat 如何插入数据
时间: 2023-08-11 15:07:59 浏览: 87
可以使用mat.push_back()方法插入数据。假设要插入一行{1,2,3},可以这样写:
```
vector<int> row{1, 2, 3};
mat.push_back(row);
```
如果要插入一列{4,5,6},可以这样写:
```
for(int i = 0; i < mat.size(); i++){
mat[i].push_back(i+4);
}
```
其中i+4是要插入的元素值,可以根据具体情况修改。
相关问题
vector<vector<int>> matrix_multiply(vector<vector<int>>& mat1, vector<vector<int>>& mat2)是什么意思
这是一个函数,其作用是计算两个矩阵的乘积。矩阵乘法是两个矩阵的运算,通常用于线性代数和计算机图形学中。矩阵乘法要求第一个矩阵的列数等于第二个矩阵的行数,结果矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。在这个函数中,输入参数mat1和mat2是两个二维向量,表示两个矩阵。函数返回一个二维向量,表示两个矩阵的乘积。
下面是函数实现的示例代码:
```c++
vector<vector<int>> matrix_multiply(vector<vector<int>>& mat1, vector<vector<int>>& mat2) {
int m = mat1.size(), n = mat1.size(), p = mat2.size();
vector<vector<int>> res(m, vector<int>(p, 0));
for (int i = 0; i < m; i++) {
for (int j = 0; j < p; j++) {
for (int k = 0; k < n; k++) {
res[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
return res;
}
```
vector<vector<int>>& mat 初始化
要初始化一个二维vector`vector<vector<int>>`,可以使用以下方法:
```c++
int rows = 3;
int cols = 4;
vector<vector<int>> mat(rows, vector<int>(cols, 0));
```
这个方法会创建一个大小为`rows`x`cols`的二维vector,其中每个元素都是0。如果你想要将它们初始化为其他值,只需要将0替换为你想要的值即可。例如,要初始化一个4x4的二维vector,其中每个元素都是1,可以这样做:
```c++
int rows = 4;
int cols = 4;
vector<vector<int>> mat(rows, vector<int>(cols, 1));
```
阅读全文