例:
分析
要求定义一个方法类,进行转置操作。 首先要明白转置是什么意思。转置就是如上图所示,把一个方阵对角置换。明白了转置,接下来就简单了。
思路分析
矩阵实际上是一个二维数组,首先写出遍历二维数组的程序,在此基础上,考虑到转置其实只需要对下三角进行遍历即可,然后与角标相反的元素互换即可。
实战
public static void main(String
[] args
)
{
int[][] arr
= {{1, 5, 9, 10}, {2, 6, 8, 50}, {3, 15, 4, 7}, {13, 5, 80, 6}};
先遍历一次,输出结果,以便对比。
for (int i
= 0; i
< arr
.length
; i
++)
{
for (int j
= 0; j
< arr
[i
].length
; j
++)
{
System
.out
.print(arr
[i
][j
] + "\t");
}
System
.out
.println();
}
System
.out
.println("===========================");
Amethod am
= new Amethod();
am
.zz(arr
);
}
}
class Amethod
{
int temp
= 0;
public void zz(int[][] arr
){
for (int i
= 0; i
< arr
.length
; i
++)
{
for (int j
= 0; j
< i
; j
++)
{
temp
= arr
[i
][j
];
arr
[i
][j
] = arr
[j
][i
];
arr
[j
][i
] = temp
;
}
}
for (int m
= 0; m
< arr
.length
; m
++)
{
for (int n
= 0; n
< arr
[m
].length
; n
++)
{
System
.out
.print(arr
[m
][n
] + "\t");
}
System
.out
.println();
}
}
结果
PS:每天坚持撸代码,总有一天会秃的