java矩阵转置算法

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double[][] testMatrix = 
			{{1,2,3,4},
			{1,2,3,4},
			{1,2,3,4}};

		System.out.println("---------转置前---------");
		for(int i=0;i<testMatrix.length;i++) {
			for(int j=0;j<testMatrix[0].length;j++) {
				System.out.print(testMatrix[i][j]+" ");
			}
			System.out.println();
		}

		double[][] target = transpose(testMatrix);
		System.out.println("---------转置后---------");
		for(int i=0;i<target.length;i++) {
			for(int j=0;j<target[0].length;j++) {
				System.out.print(target[i][j]+" ");
			}
			System.out.println();
		}
	}

	public static double[][] transpose(double[][] matrix){
		double[][] result = new double[matrix[0].length][matrix.length];
		for(int i=0; i<matrix.length; i++) {
			for(int j=0; j<matrix[i].length; j++) {
				result[j][i] = matrix[i][j];
			}
		}
		return result;
	}
}

执行结果


版权声明:本文为duduhonghong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。