📅  最后修改于: 2023-12-03 14:54:27.660000             🧑  作者: Mango
在 C++ 中有多种方式来打印二维向量,本文将介绍其中三种常用的方法。
第一种方法是使用嵌套的 for 循环来打印二维向量,代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<vector<int>> v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < v.size(); i++) {
for (int j = 0; j < v[i].size(); j++) {
cout << v[i][j] << ' ';
}
cout << endl;
}
return 0;
}
输出结果如下:
1 2 3
4 5 6
7 8 9
第二种方法是使用 auto 关键字来遍历二维向量,代码如下:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<vector<int>> v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (auto row : v) {
for (auto col : row) {
cout << col << ' ';
}
cout << endl;
}
return 0;
}
输出结果与前面相同:
1 2 3
4 5 6
7 8 9
这种方法可以简化代码,更加清晰易懂。
第三种方法是使用 for_each() 算法来遍历二维向量,代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void print(int n)
{
cout << n << ' ';
}
int main()
{
vector<vector<int>> v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for_each(v.begin(), v.end(), [](vector<int>& row) {
for_each(row.begin(), row.end(), print);
cout << endl;
});
return 0;
}
输出结果与前面相同:
1 2 3
4 5 6
7 8 9
使用 for_each() 算法的优势在于可以将代码变得更加简洁,同时也可以提高代码的可读性。
总结
本文介绍了三种常用的在 C++ 中打印二维向量的方法。使用 for 循环、auto 关键字和 for_each() 算法可以分别实现遍历和打印二维向量的操作。在实际应用中,需要根据具体情况选择最合适的方法。