课堂代码实验

问题:

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

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. 深入浅出CMake(二): 基础语法
  2. MongoDB3.6.3 windows安装配置、启动
  3. node mysql 多个_使用Node.js处理多个MySQL查询
  4. java加载自己写的类_java 自定义类加载器从磁盘或网络加载类
  5. python解析apk文件_Python获取apk文件URL地址实例
  6. P5703 【深基2.例5】苹果采购(python3实现)--2022.01.29
  7. OSPF——GRE Tunnel(含配置命令)详解
  8. tomcat一段时间不操作oracle就关闭连接_操作数据库常见错误,开发人员必掌握的技能...
  9. 任务管理器杀不了的进程如何关闭
  10. 声笔码6.00版使用指南
  11. WIFI抓包实战篇——使用Kali 同时抓取多个智能家居数据包
  12. Minidwep-gtk字典 破 WPA
  13. 数位板和sai2安装使用
  14. C语言编程圆周运动运行结果,湘潭大学《C语言程序设计Ⅱ》课程考试试卷.doc
  15. matlab绘制不同线性的直方图,Matlab绘制柱状图采用不同图案填充
  16. 神鬼传奇客户端解包图片(ui\common)
  17. POI批量导出Excel ZIP打包下载
  18. 初识C语言 二(数据类型、变量和常量)
  19. 最新图文识别技术综述
  20. 计算机网络时间同步(时钟同步)的重要性

热门文章

  1. R语言ggplot2可视化散点图(scatter plot)、使用scale_size函数自定义指定散点大小的度量、scale_fill_distiller函数自定义指定散点的颜色映射(填充色的度量)
  2. 为Android 模拟器加速
  3. cannot lock ref问题的解决
  4. 微信小程序获取用户位置信息
  5. Python之OpenGL笔记(17):键盘鼠标控制摄像机移动旋转
  6. 【大数据面试题】(二)Hive 相关面试题总结
  7. SM2262EN+东芝BICS3 1TB开卡报错处理
  8. 单片机与ARM嵌入式,DSP,FPGA的联系与区别
  9. 情商高的人的特点以及提高情商要做的事——《应该给孩子的50堂情商课》读后有感
  10. 两周之后,英特尔或将宣布启用芯片代工:直接4nm,2023年出货?