课堂代码实验

问题:

(对二维数组排序)编写一个方法,使用下面方法对二维数组排序:

public static void sort(int m[ ][ ])

这个方法实现先按行排列后在按列排序。

例如:

初始数组{{4,2},{1,7},{4,5},{1,2},{1,1},{4,1}}。

排序后为{{1,1},{1,2},{1,7},{4,1},{4,2},{4,5}}。

基本思路:

先排行,后排列。排序的思路相同。将一维数组理解成二维数组。做的时候顺便画图理解更好。

代码如下:

package java_class;import java.util.Scanner;public class Sort_my_Array {public static void main(String[] args) {Scanner scn = new Scanner(System.in);System.out.println("请输入二维数组的横坐标和纵坐标:");int [][] my_array = new int[scn.nextInt()][scn.nextInt()];System.out.println("请输入你的数组:");for(int i = 0;i < my_array.length;i++ ){for(int j = 0;j < my_array[i].length;j++){my_array[i][j] = scn.nextInt();}}System.out.println("排序前数组如下:");print_array(my_array);cmp(my_array);             //将数组的第一位先排下序sort(my_array);System.out.println("排序后数组如下:");print_array(my_array);}public static void cmp(int m[][]){for(int i = 0;i < m.length;i++){for (int j = i+1;j < m.length;j++) {if (m[i][0] > m[j][0]) {int[] temp = m[j];m[j] = m[i];m[i] = temp;}}}}public static void sort(int[][] m){for (int i =0;i < m.length;i++){int k =1;for (int j = i+1;j < m.length;j++){if(m[j][0] > m[i][0])break;if (m[i][k] == m[j][k]){do {k++;}while(m[i][k] != m[j][k]);if (m[i][k] > m[j][k]){int[] temp = m[j];m[j] = m[i];m[i] = temp;}}if (m[i][k] > m[j][k]){int[] coc = m[j];m[j] = m[i];m[i] = coc;}}}}public static void print_array(int m[][]){for(int i = 0;i < m.length;i++ ){for(int j = 0;j < m[i].length;j++){System.out.print(m[i][j] + " ");}System.out.println();}}
}

运行结果实例:

Java学习----二维数组排序相关推荐

  1. java 二维数组排序

    二维数组排序 ① 实现Comparator接口 :匿名内部类实现 初始化数组:int [][]arr = new int [n][2]; 排序规则: 对于n行两列的元素,先按数组的第一列进行升序排序, ...

  2. Java、对二维数组排序

    编写一个方法,使用下面的方法头对二维数组排序:         public static void sort(int m[][]) 这个方法首先按行排序,然后按列排序.         例如:数组{ ...

  3. java 二维数组 排序_二维数组排序

    参考: https://www.cnblogs.com/rujianming/p/11779922.html https://blog.csdn.net/westwewe/article/detail ...

  4. Java二维数组排序(按照某一列值大小)

    利用Comparator接口来实现: 若对Comparator接口不熟悉请先看这一篇:https://blog.csdn.net/weixin_43849277/article/details/108 ...

  5. Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序

    *8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序.这个方法首先按行排序,然后按列排序 题目 题目描述 破题 代码 运行实例 题目 题目描述 *8.16(对二维数组排序)编写一个 ...

  6. java 二维数组排序 sort_js sort 二维数组排序的用法小结

    最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的 ...

  7. Java二维数组排序

    今天在刷 力扣的时候,有道题卡住了,没办法去看题解,发现题解是将其二维数组排序了,我才猛然发现我还不了解二位数组排序的知识.所以来记录一下. 答案中的代码是这样的,假设需要排序的数组intervals ...

  8. 二维数组排序 java_java中的二维数组排序是怎样的?实例分享

    近些年随着科学技术水平的不断进步与发展,越来越多的人开始意识到java编程语言的重要性.也开始主动的学习这门语言.今天就来为大家介绍一些java中的基础知识,也就是java中的二维数组排序是怎样的?一 ...

  9. c语言sort函数排序二维数组,js 二维数组排序sort()函数

    一.按数值排序 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; arr.sort(function(x, y){ return x[0] – y[0]; }) ...

最新文章

  1. python字符串split_「干货」Python字符串中的split方法
  2. 出去旅行带上这些常用日语就够啦!
  3. Bamboolib -- 十分钟教会业务小姐姐做数据分析
  4. boost::mpi模块all_reduce() 集合的测试
  5. 前端学习(1350):用户的增删改查操作7增删改查
  6. 微信小程序 客服功能 客服消息
  7. 搬家请搬家公司好还是请朋友帮忙好?
  8. 启动关闭HadoopSpark历史服务
  9. 解决办法:更新linux时候提示“由于没有公钥,无法验证下列签名 ***”
  10. Java8 lambda 的使用
  11. linux安装 soapui_在Linux/Unix上安装开源测试工具SoapUI
  12. 并发测试工具Jmeter安装与简单使用
  13. 樱(桜) - 堀江由衣 (日语-中文-罗马)
  14. 计算机中8位二进制机器数,一个字节由8位二进制数组成,其最大容纳的十进制整数为()...
  15. win10(家庭版)打开本地组策略失败的处理方法
  16. 还只会用小黄鸭解压?看来你不是一个时髦的程序员!
  17. Ubuntu清理系统垃圾 命令
  18. 【Redis】回顾Redis知识点之事务机制
  19. 01-旭日X3派测评——开箱测试系统烧写性能初测
  20. 【论文阅读】Learning with Hypergraphs: Clustering, Classification, and Embedding

热门文章

  1. 快速学习一门新技术的工作原理(十步学习法来自软技能)
  2. 列表等份切割,Google Utils Lists partition
  3. Xcode中使用自定义字体
  4. Photoshop文字特效——炫彩效果文字
  5. 备忘录怎么完整发给别人
  6. Unity学习笔记(二) 碰撞检测与触发检测
  7. 非关系型数据库NoSQL的崛起
  8. Linux命令-samba服务器和防火墙
  9. 大数据技术的应用现状与展望
  10. Qemu连接外网的配置方法