C++交替列印矩陣(從左到右,然後從右到左)
在這個問題中,我們得到一個二維陣列。我們的任務是從第一行開始,從左到右列印所有陣列元素,然後下一行從右到左列印,依次類推。
讓我們來看一個例子來理解這個問題。
Input: array = {
{2, 5}
{4, 9}
}
Output: 2 5 9 4為了解決這個問題,我們將按照給定的方向(從左到右和從右到左)列印每一行的元素。並且一個標誌元素將在每次迭代後切換列印方向。
這是一個簡單高效的解決方案,時間複雜度為O(R*C)
示例
展示我們解決方案實現的程式
#include<iostream>
using namespace std;
#define R 3
#define C 3
void printAlternateMatrix(int arr[R][C]) {
bool direction = true;
for (int i=0; i<R; i++){
if (direction){
for (int j=0; j<C; j++)
printf("%d ", arr[i][j]);
} else{
for (int j=C-1; j>=0; j--)
printf("%d ",arr[i][j]);
}
direction = !direction;
}
}
int main() {
int arr[][C] = {
{ 23 , 50 , 4 },
{ 89 , 9 , 34 },
{ 75 , 1 , 61 },
};
cout<<"Matrix in alternate order is :\n";
printAlternateMatrix(arr);
return 0;
}輸出
交替順序的矩陣為:
23 50 4 34 9 89 75 1 61
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP