实例043 Java将二维数组的行列互换

Posted SwapEnd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例043 Java将二维数组的行列互换相关的知识,希望对你有一定的参考价值。

可以通过以下代码将二维数组的行列互换:

public static void transpose(int[][] matrix) 
    int rows = matrix.length;
    int cols = matrix[0].length;
    int[][] result = new int[cols][rows];
    for (int i = 0; i < rows; i++) 
        for (int j = 0; j < cols; j++) 
            result[j][i] = matrix[i][j];
        
    
    
   //输出转置后的矩阵
   System.out.println("原始矩阵:");
   printMatrix(matrix);
   
   System.out.println("转置后的矩阵:");
   printMatrix(result); 


//打印二维数组中每个元素,用于调试和验证结果是否正确。
private static void printMatrix(int[][] arr)
     for(int[] row : arr)
         StringBuilder sb=new StringBuilder();
         for(int col:row)
             sb.append(col).append("\\t");  
          System.out.println(sb.toString());
           

  其中,参数matrix表示要进行转置的二维数组。首先获取原数组的行数和列数,然后创建一个新的二维数组result,行数为原数组的列数,列数为原 数组 的 行 数 。 接 着 ,通 过 双重循环 遍 历 原 数 组,并 将 原 数 组 中 每个 元 素 的 行 列 互 换 后 存入 新 数 组 中 。 最 后 ,遍历新数据并输出 转 移 结 果 。

写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换。

4、写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换。

点我看视频讲解+可运行源码,记得收藏视频,一键三连

题目解析:

进行数组的行列互换,其关键在于数组互换的表达式 ar[i] [j] = ar[j] [i];其次在循环的时候,内层循环不能到达最大列,需要根据此时是第几行的交换来决定循环的次数,否则有可能数组行列交换之后最后又交换回原来的形状了。

代码示例

#include<stdio.h>

void PrintArray(int ar[3][3])
{
	for(int i=0; i<3; ++i)
	{
		for(int j=0; j<3; ++j)
		{
			printf("%d ", ar[i][j]);
		}
		printf("\\n");
	}
}

void ReverseArray(int ar[3][3])
{
	int tmp;
	for(int i=0; i<3; ++i)
	{
		for(int j=0; j<i; ++j)
		{
			if(i != j) //中间数不发生变化
			{
				//交换两个数
				tmp = ar[i][j];
				ar[i][j] = ar[j][i];
				ar[j][i] = tmp;
			}
			
		}
	}
}

int main()
{
	int array[3][3] = 
	{
		{1,2,3},
		{4,5,6},
		{7,8,9}
	};

	printf("转置前:\\n");
	PrintArray(array);

	//进行数组转置
	ReverseArray(array);

	printf("转置后:\\n");
	PrintArray(array);

	return 0;
}

运行结果:

写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换。

以上是关于实例043 Java将二维数组的行列互换的主要内容,如果未能解决你的问题,请参考以下文章

将二维数组中的行列互换

编写一函数,将一个3×3的整型二维数组行列互换

写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换

写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换。

用指针实现二维数组行列求和

编写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换