C++程序 按蛇形顺序输出矩阵

C++程序 按蛇形顺序输出矩阵

给定一个n x n矩阵,在该矩阵中,您必须按照蛇形顺序打印矩阵的元素。

示例:

Input :mat[][] = { {10, 20, 30, 40},
                   {15, 25, 35, 45},
                   {27, 29, 37, 48},
                   {32, 33, 39, 50}};

Output : 10 20 30 40 45 35 25 15 27 29
         37 48 50 39 33 32 

Input :mat[][] = { {1, 2, 3},
                   {4, 5, 6},
                   {7, 8, 9}};
Output : 1 2 3 6 5 4 7 8 9

C++程序 按蛇形顺序输出矩阵

我们遍历所有的行。对于每一行,我们检查它是偶数行还是奇数行。如果是偶数行,则从左到右打印,否则从右到左打印。

// C++ program to print matrix in snake order
#include <iostream>
#define M 4
#define N 4
using namespace std;
 
void print(int mat[M][N])
{
    // Traverse through all rows
    for (int i = 0; i < M; i++) {
 
        // If current row is even, print from
        // left to right
        if (i % 2 == 0) {
            for (int j = 0; j < N; j++)
                cout << mat[i][j] << " ";
 
        // If current row is odd, print from
        // right to left
        } else {
            for (int j = N - 1; j >= 0; j--)
                cout << mat[i][j] << " ";
        }
    }
}
 
// Driver code
int main()
{
    int mat[][] = { { 10, 20, 30, 40 },
                    { 15, 25, 35, 45 },
                    { 27, 29, 37, 48 },
                    { 32, 33, 39, 50 } };
 
    print(mat);
    return 0;
}  

输出 :

10 20 30 40 45 35 25 15 27 29 37 48 50 39 33 32 

时间复杂度:给定N*N矩阵的O(N^2)

辅助空间:O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例