程序代码如下:
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,如需转载请自行联系原作者