数据算法使给定的一个二维数组(3×3)转置
程序员文章站
2023-12-09 20:13:39
例:注:只有方阵可以转置!分析要求定义一个方法类,进行转置操作。首先要明白转置是什么意思。转置就是如上图所示,把一个方阵对角置换。明白了转置,接下来就简单了。思路分析矩阵实际上是一个二维数组,首先写出遍历二维数组的程序,在此基础上,考虑到转置其实只需要对下三角进行遍历即可,然后与角标相反的元素互换即可。实战public static void main(String[] args) {//先定义一个4X4的矩阵(3X3也可)int[][] arr = {{1, 5, 9,...
例:
分析
要求定义一个方法类,进行转置操作。
首先要明白转置是什么意思。转置就是如上图所示,把一个方阵对角置换。明白了转置,接下来就简单了。
思路分析
矩阵实际上是一个二维数组,首先写出遍历二维数组的程序,在此基础上,考虑到转置其实只需要对下三角进行遍历即可,然后与角标相反的元素互换即可。
实战
public static void main(String[] args)
{
//先定义一个4X4的矩阵(3X3也可)
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++)//这里j < i其实就是对矩阵下三角进行遍历
{
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:每天坚持撸代码,总有一天会秃的
本文地址:https://blog.csdn.net/weixin_42262738/article/details/107071403