您的位置:

使用C++循环遍历二维数组

对于许多C++程序员来说,循环遍历二维数组是日常开发过程中很基本也很重要的部分。在本篇文章中,我们将介绍C++中的几个不同方式来循环遍历二维数组。

一、使用foreach循环遍历二维数组

使用foreach循环遍历二维数组是C++11新引入的功能。该方法语法简单并且易于阅读,因为你只需要提供要遍历的数组名称即可。在本例中,我们将遍历一个二维数组,该数组存储了学校四个班级的学生成绩。

int scores[4][3] = { 
    {89, 92, 78},
    {85, 88, 82},
    {75, 85, 95},
    {66, 77, 68},
};
 
for (auto &row : scores) {
    for (auto &col : row) {
        std::cout << col << " ";
    }
    std::cout << std::endl;
}

运行结果如下:

89 92 78 
85 88 82 
75 85 95 
66 77 68 

二、使用for循环遍历二维数组

使用for循环来遍历二维数组是一种通用的方法。我们可以使用两个嵌套的循环来访问所有元素。在本例中,我们将创建一个3x3的二维数组,并使用for循环遍历数组中的所有元素。

int arr[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
 
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        std::cout << arr[i][j] << " ";
    }
    std::cout << std::endl;
}

运行结果如下:

1 2 3
4 5 6
7 8 9

三、使用for循环遍历二维数组c语言

对于有经验的C语言程序员,以下是使用for循环遍历二维数组的方法:

int arr[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
 
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d ", arr[i][j]);
    }
    printf("\n");
}

运行结果如下:

1 2 3
4 5 6
7 8 9

四、使用增强for循环遍历二维数组

增强for循环也可以用于遍历二维数组,但需要使用指向数组行的指针。在本例中,我们将遍历一个存储了九张牌的三个堆栈的数组。

int stacks[3][3] = { 
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9},
};
 
for (int i = 0; i < 3; i++) {
    int* row_pointer = stacks[i];
    for (auto &col : row) {
        std::cout << *row_pointer << " ";
        row_pointer++;
    }
    std::cout << std::endl;
}

运行结果如下:

1 2 3 
4 5 6 
7 8 9 

五、使用uibot循环遍历二维数组

uibot foreach循环是开源库uibot中的一部分,可用于遍历二维数组并对所有元素执行操作:

#include "uibot/foreach.h"
 
int arr[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
 
ui::foreach(arr, [&](int& elem, size_t i, size_t j) {
    std::cout << elem << " ";
});

运行结果如下:

1 2 3
4 5 6
7 8 9

六、使用vuefor循环二维数组遍历

vuefor循环是在Vue.js中使用的一种特殊语法,可用于遍历数组并生成HTML元素。在C++中,我们可以使用vuefor循环来执行类似的操作。在本例中,我们将使用vuefor循环遍历一个存储了五个人职业的二维数组。

int careers[5][2] = {
    {"John", "Developer"},
    {"Mary", "Designer"},
    {"Bob", "Architect"},
    {"Alice", "Engineer"},
    {"Karen", "Manager"}
};
 
std::cout << "
  
"; for(auto& row : careers) { std::cout << "
"; for(auto& column : row) { std::cout << column << " "; } std::cout << "
"; } std::cout << "
";

运行结果如下:

  
John Developer
Mary Designer
Bob Architect
Alice Engineer
Karen Manager

结论

上述几种遍历二维数组的方法在不同的情况下使用。对于需要运行时速度最快的场合,使用C++ for循环是最好的选择。对于需要简洁、易于阅读的代码,则可以使用C++11 foreach循环以及第三方库uibot。对于需要直接生成HTML代码并进行遍历的场合,使用vuefor循环是不错的选择。使用这些方法可以使你的C++代码更加简洁、易读和高效。