package mytest.test;
public class testmatrix
int ints = new int[n][n];
int result = 0;
int x = 0, y = 0;
while (result < n * n)
direct = direct.down;// 改變方向,向下
x++;//向下需要x座標+1
y--;//補償y座標在上面迴圈體的偏移
break;
case down:
while (x < n && ints[x][y] == 0)
direct = direct.left;// 改變方向,向左
y--;//向左需要y座標-1
x--;//補償x座標在上面迴圈體的偏移
break;
case left:
while (y >= 0 && ints[x][y] == 0)
direct = direct.up;// 改變方向,向上
x--;// 向上x座標-1
y++;// 補償y座標在上面迴圈體的偏移
break;
case up:
while (x >= 0 && ints[x][y] == 0)
direct = direct.right;// 改變方向,向右
y++;// 右轉y座標+1
x++;// 補償x座標在上面迴圈體的偏移
break;
}} return ints; }
//旋轉方向
enum circledir
//移動方向
enum direct
/*** 測試方法
* * @param args
*/public static void main(string args)
system.out.println();
} system.out.println("********************===分割線***************====");
system.out.println("********************===逆時針***************====");
int intantis = getmatrix(n, circledir.anticlockwise);// 逆時針輸出
for (int i = 0; i < n; i++)
system.out.println();
} }}
執行結果:
Java 順時針列印矩陣
對於乙個矩陣,請設計乙個演算法從左上角 mat 0 0 開始,順時針列印矩陣元素。給定int矩陣mat,以及它的維數nxm,請返回乙個陣列,陣列中的元素為矩陣元素的順時針輸出。測試樣例 1,2 3,4 2,2返回 1,2,4,3 public static void main string args...
陣列矩陣的順時針輸出
其實這個題目,我要講的並不是這個題目的編碼過程,而是對於這個問題解決過程 我們不能遇到這個問題之後立即編碼是錯誤的,然而立即拿出筆在紙上寫寫畫畫時,也是需要進行技巧的,針對這個問題,我們首先看看順時針時,走一圈作為乙個迴圈,然而該 迴圈的起點是很有意思的,這個點的所在的點行座標和列座標是相同的 也即...
順時針列印矩陣
輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...