日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“之”字形打印矩阵~

發布時間:2025/3/12 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “之”字形打印矩阵~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


編程如下:

歡迎大家前來討論~

public class PrintMatirx {
public static void main(String args[]) {
int arr[][] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
printZigMatrix(arr);
}


public static void printZigMatrix(int arr[][]) {
int row1 = 0;
int col1 = 0;
int row2 = 0;
int col2 = 0;
int helpR = arr.length - 1;
int helpC = arr[0].length - 1;
boolean dir = false;
/* 下面是來判斷(row1,col1)點是往右方移動還是往下邊移動,當col1 == helpC時,就要往下面移動了,下面同理 */
while (row1 <= helpR) {// 什么時候停止對角線遍歷呢?當row > helpR時,說明已經遍歷到底部了,就可以停止遍歷了
printDiagonal(arr, row1, col1, row2, col2, dir);
if (col1 == helpC) {
row1++;
} else {
col1++;
}
if (row2 == helpR) {
col2++;
} else {
row2++;
}
dir = !dir;// 方向每次都調轉一次
}
}


/* 按照對角線方向打印出矩陣的元素,因為是之字形,所以要定義一個標志dir來使其一次往右上方打印,一次往左下方打印 */
public static void printDiagonal(int arr[][], int row1, int col1, int row2, int col2, boolean dir) {
if (dir) {
while (row1 <= row2) {// 打印停止的判斷:row1 <= row2的時候,可以繼續往下打印,當row1 > row2時,停止打印,下面也是同理
System.out.print(arr[row1++][col1--] + " ");// 怎么做到往對角線打印,可以通過row++同時col--來實現
}
} else {
while (row2 >= row1) {
System.out.print(arr[row2--][col2++] + " ");
}
}
}


}



創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的“之”字形打印矩阵~的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。