代码需求:

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

分析过程

主对角线是保持不变

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

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

示意图

代码实现

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

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

java二维数组行列互换_java 二维数组行列互换相关推荐

  1. java二维数组初始化值_Java二维数组初始化的方法

    对于一个新使用的工具,我们会进行初步的初始化工具,目的是为了加上一些使用的配置.在学过了一维数组后,那么二维数组是加了一层维度的一维数组.在初始化方面,二维数组有三种方法,相信很多人只是掌握了其中的一 ...

  2. java 数组定义方法_java中定义数组的方法有哪些

    java中定义数组的方法有哪些 发布时间:2020-06-25 18:10:36 来源:亿速云 阅读:130 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java中定义数组的方法,代码非常详细 ...

  3. java 数组的索引_java如何寻找数组中心索引

    java如何寻找数组中心索引 发布时间:2020-04-21 10:10:24 来源:亿速云 阅读:65 作者:小新 本篇文章和大家了解一下java如何寻找数组中心索引.有一定的参考价值,有需要的朋友 ...

  4. java+找数组中最大数_Java程序查找数组中最大的数字

    要查找给定数组的最大元素,首先,对数组进行排序. 排序数组比较数组的前两个元素 如果第一个元素大于第二个元素,则将其交换. 然后,如果第二个元素大于第三个元素,则比较第二个和第三个元素. 重复此操作, ...

  5. java数组删除元素_java中删除 数组中的指定元素方法

    java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子. java的api中,并没有提供删除数组中元素的方法.虽 ...

  6. java 数组对象长度_Java中的数组长度:关于Java中数组长度的所有信息

    Java中的数组可以包含多个元素,这取决于对象是如何创建的.为了让用户执行不同的操作,必须知道数组的长度.这篇关于"Java中的数组长度"的文章旨在让我们熟悉用于获取数组长度的操 ...

  7. java 数组的长度_JAVA怎样获取数组长度?

    展开全部 public class Test { public static void main(Sring[] args) { int[] ary = {1,3,5,7,8} ; //数组中装了5个 ...

  8. java给字符串数组追加字符串_java往字符串数组追加新数据

    public class Test { public static void main(String[] args) { // 原字符串数组 String[] arr = { "原字符串数据 ...

  9. java二维数组随机赋值_java 二维数组随机赋值

    java 二维数组随机赋值 [2021-01-31 00:08:55]  简介: 目的:使用二维数组打印一个 10 行杨辉三角.(视频教程推荐:java课程)思路:1. 第一行有 1 个元素, 第 n ...

最新文章

  1. vi/vim粘贴代码自动缩进导致全乱了
  2. 语音识别发展必牺牲隐私?最大问题或因不符用户预期,需增透明性
  3. 浅谈spring--AOP与IOC / DI
  4. (13)FPGA面试题阻塞赋值与非阻塞赋值
  5. Java安全 – JCE (Blowfish算法报错)
  6. 如何写数据分析岗位简历?看完瞬间秒懂
  7. 计算机打印怎么取消,打印机如何取消打印作业?如何删除打印作业?
  8. conda的environment未被激活解决方案
  9. 百度有啊创始团队写博客 自曝高层动荡内幕
  10. 暗月渗透实战靶场-项目七(上)
  11. FZU 1573 大学自习室
  12. Oracle管理的文件(OMF)的具体含义
  13. 小红伞AntiVir专区
  14. [LnOI2019]东京夏日相会
  15. php小程序 100行左右,微信小程序 左右分类滚动列表
  16. linux nc 抓包,抓包及NC上传原理
  17. 自动投票系统【二】模拟登录提交
  18. 鸟哥的私房菜00--计算器概论
  19. 库克和他的“后乔布斯”时代苹果
  20. Jenkins集合git、maven,持续集成gitlab项目(二)

热门文章

  1. python 画k线图_matplotlib画k线图
  2. python画k线图_请问Python有什么工具可以绘制K线图
  3. SQL server数据库安装使用
  4. str_replace 替换函数
  5. 春节期间台湾中部出租车加价 各县市行情不一
  6. HDC2021技术分论坛:吐司盒子?芝士码?HarmonyOS音视频测试来啦
  7. 解决Dell XPS15-9570下Hackintosh下DW1830睡眠唤醒后不可用
  8. POJ 1837 Blance (01背包)
  9. Data_Warehouse(DW 数仓(一))
  10. 20145202马超 《网络对抗》第一次作业