欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据算法使给定的一个二维数组(3×3)转置

程序员文章站 2023-12-09 20:13:39
例:注:只有方阵可以转置!分析要求定义一个方法类,进行转置操作。首先要明白转置是什么意思。转置就是如上图所示,把一个方阵对角置换。明白了转置,接下来就简单了。思路分析矩阵实际上是一个二维数组,首先写出遍历二维数组的程序,在此基础上,考虑到转置其实只需要对下三角进行遍历即可,然后与角标相反的元素互换即可。实战public static void main(String[] args) {//先定义一个4X4的矩阵(3X3也可)int[][] arr = {{1, 5, 9,...

例:
数据算法使给定的一个二维数组(3×3)转置

分析

要求定义一个方法类,进行转置操作。
首先要明白转置是什么意思。转置就是如上图所示,把一个方阵对角置换。明白了转置,接下来就简单了。

思路分析

矩阵实际上是一个二维数组,首先写出遍历二维数组的程序,在此基础上,考虑到转置其实只需要对下三角进行遍历即可,然后与角标相反的元素互换即可。

实战

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();
		}
	}

结果

数据算法使给定的一个二维数组(3×3)转置

PS:每天坚持撸代码,总有一天会秃的

本文地址:https://blog.csdn.net/weixin_42262738/article/details/107071403