java二维数组行列互换_java 二维数组行列互换[通俗易懂]

java二维数组行列互换_java 二维数组行列互换[通俗易懂]代码需求:对等行等列的二维数组进行行列的互换分析过程主对角线是保持不变行列互换即角标互换:[0][1]=>[1][0]循环次数:外层循环行,内层循环每一行的列示意图代码实现publicclassArrayReverse{publicstaticvoidmain(String[]args){intarry[][]=newint[][]{{1,2,3},{4,5…

大家好,又见面了,我是你们的朋友全栈君。

代码需求:

对等行等列的二维数组进行 行列 的互换

分析过程

主对角线是保持不变

行列互换即角标互换:[0][1] => [1][0]

循环次数:外层循环行,内层循环每一行的列

示意图

java二维数组行列互换_java 二维数组行列互换[通俗易懂]

代码实现

public class ArrayReverse {

public static void main(String[] args) {

int arry[][] = new int[][] {
{1,2,3},{4,5,6},{7,8,9}};

reverse(arry);

printArray(arry);

}

/**

* 二维数组转置

* @param arry

*/

public static void reverse(int arry[][]) {

int count = 0;//用于统计总共循环次数

for(int i=0; i< arry.length-1; i++) {

//列循环从:i+1开始,提高循环效率

for(int j=i+1; j< arry[i].length; j++) {

int temp = arry[i][j];

arry[i][j] = arry[j][i];

arry[j][i] = temp;

count++;

}

}

System.out.println(count);

}

public static void printArray(int array[][]){

for(int i=0;i

for(int j = 0; j< array[i].length; j++) {

System.out.print(array[i][j]+”、”);

}

System.out.println();

}

}

}

总结

内层循环(列循环)循环的起始点 = 外层循环+1;比从j=0循环节省了循环次数,提高效率。

如有更好的算法,还望道友下发留言帮忙改进!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143058.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号