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循环节省了循环次数,提高效率。

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SqlTransaction——事务详解[通俗易懂]

    SqlTransaction——事务详解[通俗易懂]Postedon2008-07-2001:46停留的风http://www.cnblogs.com/yank/archive/2008/07/20/1246896.html事务处理基本原理           事务是将一系列操作作为一个单元执行,要么成功,要么失败,回滚到最初状态。在事务处理术语中,事务要么提交,要么中止。若要提交事务,所有参与者都必须保证对数据

    2022年6月10日
    45
  • 【综合实训】图书管理系统——详细设计说明书

    【综合实训】图书管理系统——详细设计说明书文章目录1引言1.1编写目的1.2项目背景1.3定义1.4参考资料2总体设计2.1需求概述2.2软件结构3模块描述3.1模块基本信息3.2功能概述3.3算法3.4模块处理逻辑3.5接口3.6性能3.7测试计划1引言1.1编写目的  本报告的目的是对高校图书管理系统进行详细设计说明,以便用户及项目开发人员了解产品详细的设计与实现,为开发人员提供开发参考书。以下叙述将结合文字描述、伪代码,图表等来描述高校图书管理系统的详细设计和相关的模块描述。本报告的预期读者有客户、项

    2022年5月29日
    36
  • hadoop集群搭建(超详细版)「建议收藏」

    hadoop集群搭建(超详细版)「建议收藏」1.准备好需要安装的软件虚拟机VMware12.pro操作系统CentOS6.5远程控制虚拟机的终端SecureCRT8.12.在虚拟机中安装CentOS操作系统安装好虚拟机,图形界面如下图创建新的虚拟机,选择自定义(高级),点击下一步虚拟机硬件兼容性默认,浏览需要安装的CentOS6.5镜像文件自定义用户名和密码(用于登录)设置虚…

    2022年10月15日
    4
  • Mac idea2022.01.13激活码_最新在线免费激活

    (Mac idea2022.01.13激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    63
  • Spring中所使用的设计模式

    Spring中所使用的设计模式

    2021年4月10日
    145
  • 使用StopWatch计算耗时[通俗易懂]

    使用StopWatch计算耗时[通俗易懂]一、传统计算耗时方式一般采用System.currentTimeMillis()来获取时间,然后打印当前时间与任务开始执行时间的差值。记录开始时间点记录结束时间点输出当前时间与任务开始执行时间的差值代码如下:publicstaticvoidmain(String[]args)throwsInterruptedException{longstartTime=System.currentTimeMillis();//dos

    2022年6月23日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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