程式代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<code>package</code> <code>chapter02;</code>
<code>import</code> <code>java.util.Arrays;</code>
<code>/*</code>
<code> </code><code>* 矩陣轉置的實作(簡單版)</code>
<code> </code><code>*/</code>
<code>public</code> <code>class</code> <code>CH02_04 {</code>
<code> </code><code>public</code> <code>static</code> <code>void</code> <code>main(String[] args) {</code>
<code> </code><code>int</code><code>[][] arr = </code>
<code> </code><code>{</code>
<code> </code><code>{</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>},</code>
<code> </code><code>{</code><code>4</code><code>, </code><code>5</code><code>, </code><code>6</code><code>},</code>
<code> </code><code>{</code><code>7</code><code>, </code><code>8</code><code>, </code><code>9</code><code>}</code>
<code> </code><code>};</code>
<code> </code><code>int</code> <code>rows = arr.length;</code>
<code> </code><code>int</code> <code>cols = arr[</code><code>0</code><code>].length;</code>
<code> </code><code>int</code><code>[][] arrResult = </code><code>new</code> <code>int</code><code>[cols][rows];</code>
<code> </code>
<code> </code><code>//填充結果數組</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i = </code><code>0</code><code>; i < arrResult.length; i++){</code>
<code> </code><code>Arrays.fill(arrResult[i], </code><code>0</code><code>);</code>
<code> </code><code>}</code>
<code> </code><code>//輸出矩陣轉置前的矩陣</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i = </code><code>0</code><code>; i < arr.length; i++){</code>
<code> </code><code>System.out.println(Arrays.toString(arr[i]));</code>
<code> </code><code>//轉置矩陣</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i = </code><code>0</code><code>; i < rows; i++){</code>
<code> </code><code>//外循環,從原來矩陣的第i行開始</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>j = </code><code>0</code><code>; j < cols; j++){</code>
<code> </code><code>//内循環,轉置矩陣</code>
<code> </code><code>arrResult[j][i] = arr[i][j];</code>
<code> </code><code>}</code>
<code> </code><code>System.out.println();</code>
<code> </code><code>//輸出轉置後的矩陣</code>
<code> </code><code>System.out.println(Arrays.toString(arrResult[i]));</code>
<code> </code><code>}</code>
<code>}</code>
執行結果如下:
<code>[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>]</code>
<code>[</code><code>4</code><code>, </code><code>5</code><code>, </code><code>6</code><code>]</code>
<code>[</code><code>7</code><code>, </code><code>8</code><code>, </code><code>9</code><code>]</code>
<code>[</code><code>1</code><code>, </code><code>4</code><code>, </code><code>7</code><code>]</code>
<code>[</code><code>2</code><code>, </code><code>5</code><code>, </code><code>8</code><code>]</code>
<code>[</code><code>3</code><code>, </code><code>6</code><code>, </code><code>9</code><code>]</code>
<code></code>
本文轉自 xpleaf 51CTO部落格,原文連結:http://blog.51cto.com/xpleaf/1976528,如需轉載請自行聯系原作者