Java学习----二维数组排序
课堂代码实验
问题:
(对二维数组排序)编写一个方法,使用下面方法对二维数组排序:
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学习----二维数组排序相关推荐
- java 二维数组排序
二维数组排序 ① 实现Comparator接口 :匿名内部类实现 初始化数组:int [][]arr = new int [n][2]; 排序规则: 对于n行两列的元素,先按数组的第一列进行升序排序, ...
- Java、对二维数组排序
编写一个方法,使用下面的方法头对二维数组排序: public static void sort(int m[][]) 这个方法首先按行排序,然后按列排序. 例如:数组{ ...
- java 二维数组 排序_二维数组排序
参考: https://www.cnblogs.com/rujianming/p/11779922.html https://blog.csdn.net/westwewe/article/detail ...
- Java二维数组排序(按照某一列值大小)
利用Comparator接口来实现: 若对Comparator接口不熟悉请先看这一篇:https://blog.csdn.net/weixin_43849277/article/details/108 ...
- Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序
*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序.这个方法首先按行排序,然后按列排序 题目 题目描述 破题 代码 运行实例 题目 题目描述 *8.16(对二维数组排序)编写一个 ...
- java 二维数组排序 sort_js sort 二维数组排序的用法小结
最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的 ...
- Java二维数组排序
今天在刷 力扣的时候,有道题卡住了,没办法去看题解,发现题解是将其二维数组排序了,我才猛然发现我还不了解二位数组排序的知识.所以来记录一下. 答案中的代码是这样的,假设需要排序的数组intervals ...
- 二维数组排序 java_java中的二维数组排序是怎样的?实例分享
近些年随着科学技术水平的不断进步与发展,越来越多的人开始意识到java编程语言的重要性.也开始主动的学习这门语言.今天就来为大家介绍一些java中的基础知识,也就是java中的二维数组排序是怎样的?一 ...
- 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]; }) ...
最新文章
- 深入浅出CMake(二): 基础语法
- MongoDB3.6.3 windows安装配置、启动
- node mysql 多个_使用Node.js处理多个MySQL查询
- java加载自己写的类_java 自定义类加载器从磁盘或网络加载类
- python解析apk文件_Python获取apk文件URL地址实例
- P5703 【深基2.例5】苹果采购(python3实现)--2022.01.29
- OSPF——GRE Tunnel(含配置命令)详解
- tomcat一段时间不操作oracle就关闭连接_操作数据库常见错误,开发人员必掌握的技能...
- 任务管理器杀不了的进程如何关闭
- 声笔码6.00版使用指南
- WIFI抓包实战篇——使用Kali 同时抓取多个智能家居数据包
- Minidwep-gtk字典 破 WPA
- 数位板和sai2安装使用
- C语言编程圆周运动运行结果,湘潭大学《C语言程序设计Ⅱ》课程考试试卷.doc
- matlab绘制不同线性的直方图,Matlab绘制柱状图采用不同图案填充
- 神鬼传奇客户端解包图片(ui\common)
- POI批量导出Excel ZIP打包下载
- 初识C语言 二(数据类型、变量和常量)
- 最新图文识别技术综述
- 计算机网络时间同步(时钟同步)的重要性
热门文章
- R语言ggplot2可视化散点图(scatter plot)、使用scale_size函数自定义指定散点大小的度量、scale_fill_distiller函数自定义指定散点的颜色映射(填充色的度量)
- 为Android 模拟器加速
- cannot lock ref问题的解决
- 微信小程序获取用户位置信息
- Python之OpenGL笔记(17):键盘鼠标控制摄像机移动旋转
- 【大数据面试题】(二)Hive 相关面试题总结
- SM2262EN+东芝BICS3 1TB开卡报错处理
- 单片机与ARM嵌入式,DSP,FPGA的联系与区别
- 情商高的人的特点以及提高情商要做的事——《应该给孩子的50堂情商课》读后有感
- 两周之后,英特尔或将宣布启用芯片代工:直接4nm,2023年出货?