📜  打印二维向量 c++ (1)

📅  最后修改于: 2023-12-03 14:54:27.660000             🧑  作者: Mango

在 C++ 中打印二维向量

在 C++ 中有多种方式来打印二维向量,本文将介绍其中三种常用的方法。

使用 for 循环打印

第一种方法是使用嵌套的 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 关键字打印

第二种方法是使用 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() 算法打印

第三种方法是使用 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() 算法可以分别实现遍历和打印二维向量的操作。在实际应用中,需要根据具体情况选择最合适的方法。