我们可以通过设置一个标志变量来确定当前行是否需要从右往左进行遍历。如果标志为真,则我们可以从右往左输出当前行的元素,否则我们将从左往右输出当前行的元素。这样可以避免进行双重遍历。
代码示例:
#include
using namespace std;
void printLShapeMatrix(int m, int n) {
int matrix[m][n]; // 定义一个 m 行 n 列的矩阵
bool flag = true; // 设置标志变量
for (int i = 0; i < m; i++) {
if (flag) {
for (int j = 0; j < n; j++) {
cout << matrix[i][j] << " ";
}
} else {
for (int j = n - 1; j >= 0; j--) {
cout << matrix[i][j] << " ";
}
}
// 切换标志变量
flag = !flag;
cout << endl;
}
}
int main() {
printLShapeMatrix(4, 5);
return 0;
}
上一篇:避免在鼠标离开时重置动画