C ++中矩阵的行遍历与列遍历

可以通过两种方式遍历矩阵。Row-mise 遍历从第一行开始,然后是第二行,依次访问每一行,直到最后一行。行中的元素从索引 0 返回到最后一个索引。

在 Column-wise traversal 中,元素按顺序从第一列遍历到最后一列。

在二维矩阵 M[i][j] 中。索引 i 用于表示行,索引 j 用于表示列。对于逐行遍历,从

i=0th row and 0<=j<last index

i=第一行和 0<=j<最后一个索引

......

i=最后一行和 0<=j<最后一个索引

对于按列遍历,从

j=0th 列和 0<=i<last 索引

j=第一列和 0<=i<最后一个索引

......

j=最后一列和 0<=i<最后一个索引

二维数组 M[i][j]-i 中的索引顺序保持不变,j 表示列

例子

输入 -

int arr[MAX][MAX] = { {1,2,3,4,5},{6,7,8,9,0},

   {5,4,3,2,1},{0,0,0,0,0},

   {8,9,7,6,1}};

输出 -

行主要遍历

1 2 3 4 5

6 7 8 9 0

5 4 3 2 1

0 0 0 0 0

8 9 7 6 1

列主要遍历

1 6 5 0 8

2 7 4 0 9

3 8 3 0 7

4 9 2 0 6

5 0 1 0 1

解释 - 输出是不言自明的

输入 -

int arr[MAX][MAX] = { {1,1,1,1,1},{2,2,2,2,2},

   {3,3,3,3,3},{4,4,4,4,4},

   {5,5,5,5,5}};

输出 -

行主要遍历

1 1 1 1 1

2 2 2 2 2

3 3 3 3 3

4 4 4 4 4

5 5 5 5 5

列主要遍历

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

解释- 输出是不言自明的。

以下程序中使用的方法如下

在这种方法中,我们使用两个 for 循环在行和列遍历中打印输入 2D 矩阵。

  • 取输入数组 arr[][] 来表示二维矩阵。

  • 取变量 i 和 j 作为行元素和列元素的索引。

  • 对于逐行遍历,从索引 i=0 到 i<MAX 开始一个 for 循环,用于逐行遍历

  • 在其中,开始一个从 j=0 到 j<MAX 的嵌套 for 循环,用于遍历第 i 行的所有元素。

  • 打印 arr[i][j]

  • 对于按列遍历,从索引 j=0 到 j<MAX 开始一个 for 循环,用于逐列遍历

  • 在其中,开始一个从 i=0 到 i<MAX 的嵌套 for 循环,用于遍历第 j 列的所有元素。

  • 打印 arr[i][j]。

示例

#include <bits/stdc++.h>

using namespace std;

#define MAX 5

int main(){

   int arr[MAX][MAX] = { {1,2,3,4,5},{6,7,8,9,0},{5,4,3,2,1},{0,0,0,0,0},{8,9,7,6,1}};

   int i, j;

   cout<<"行主要遍历 "<<endl;

   for(i=0;i<MAX;i++){

      cout<<endl;

      for(j=0;j<MAX;j++){

         cout<<" "<<arr[i][j];

      }

   }

   cout<<endl<<endl;

   cout<<"列主要遍历 "<<endl;

   for(j=0;j<MAX;j++){

      cout<<endl;

      for(j=0;j<MAX;j++){

         cout<<" "<<arr[j][i];

      }

   }

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出

行主要遍历

1 2 3 4 5

6 7 8 9 0

5 4 3 2 1

0 0 0 0 0

8 9 7 6 1

列主要遍历

6 5 0 8 3 2 7 6 4

以上是 C ++中矩阵的行遍历与列遍历 的全部内容, 来源链接: utcz.com/z/363395.html

回到顶部