二维数组根据每个数组的元素排序(奥运奖牌排序)的几种方法
二维数组根据每个数组的元素排序(奥运奖牌排序)
方法一
public static void sort(int[][] a){for(int i=0;i<a.length;i++){int k=i;for(int j=i+1;j<a.length;j++){if(a[k][0]<a[j][0]){k=j;}else if(a[k][0]==a[j][0]&&a[k][1]<a[j][1]){k=j;}else if(a[k][0]==a[j][0]&&a[k][1]==a[j][1]&&a[k][2]<a[j][2]){k=j;}}if(k!=i){int[] tmp=a[i];a[i]=a[k];a[k]=tmp;}System.out.println(Arrays.toString(a[i]));}}
方法二
public static void sort1(int[][] a){for(int i=0;i<a.length;i++){for(int j=i+1;j<a.length;j++){if(a[i][0]<a[j][0]){int temp[] = a[j];a[j] = a[i];a[i] = temp;}else if(a[i][0]==a[j][0]){if(a[i][1]<a[j][1]){int temp[] = a[j];a[j] = a[i];a[i] = temp;}else if(a[i][1]==a[j][1]){if(a[i][2]<a[j][2]){int temp[] = a[j];a[j] = a[i];a[i] = temp;}}}}System.out.println(Arrays.toString(a[i]));}}
方法三
public static void sort2(int[][] a){Arrays.sort(a, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {// TODO Auto-generated method stubif(o1[0]!=o2[0]){return o2[0]-o1[0];}else if(o1[1]!=o2[1]){return o2[1]-o1[1];}else{return o2[2]-o1[2];}}});System.out.println(Arrays.deepToString(a));}
方法四
public static void sort2(int[][] a){Arrays.sort(data,(o1,o2) -> {if(o1[0]!=o2[0]){return o2[0]-o1[0];}else if(o1[1]!=o2[1]){return o2[1]-o1[1];}else{return o2[2]-o1[2];}});System.out.println(Arrays.deepToString(a));}
二维数组根据每个数组的元素排序(奥运奖牌排序)的几种方法相关推荐
- 间接通过new 来申请一个二维的堆内存数组
我们知道无法直接通过new 来申请一个二维的堆内存数组,于是有人想出了这样一个办法:创建一个一维堆内存指针数组,即每个数组元素是一个指针,然后用new 给各个指针分配一个一维的堆内存数组,那么最后表示 ...
- HDU2642(二维的树状数组)
二维的树状数组,我记得是模版!^ _ ^ 题意很清楚:就是这部分的原理:sum(x1,y1)+sum(x2-1,y2-1)-sum(x1,y2-1)-sum(x2-1,y1);其实可以和概率论中的一个 ...
- matlab 三维数组运算,MATLAB二维三维画图仿真数组运算
MATLAB二维三维画图仿真数组运算 1. 数学 (1) 数组运算: x=[1 2 3 4]; y=[3 4 5 6]; z=x+y %数组x与数组y相加得到数组z z = 4 6 8 10 z=x- ...
- 关于图的二维矩阵转为一维数组的理解。
一开始看二维矩阵转为一维数组的时候还是有点懵的,为啥是N(N+1)/2呢,为啥不是N*N/2呢,这个矩阵明明是N*N的一个正方形啊,我要省一半空间直接除2不就行了,带着这个问题我观察了一下这个PPT里 ...
- php查找文件内元素,如何查看当前文档某个元素的子节点?有几种方法
本篇文章给大家带来的内容是关于如何查看当前文档某个元素的子节点?有几种方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 源代码: Hello 方式一://直接在html文档中嵌入j ...
- html元素隐藏js 控制,JS控制HTML元素的显示和隐藏的两种方法
JS控制HTML元素的显示和隐藏的两种方法 利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位. 方法一 ...
- 码匠编程:CSS让元素绝对居中,你知道几种方法?
经常碰到有同学在问,如何让一个元素上下左右都居中呢? 相信大家在面试的时候也会经常碰到这个问题,一下列出来几种方式以供大家参考,如有不足之处,请大家补充 问题描述: 给定两个元素,这两个元素是父子级关 ...
- jquery控制元素的隐藏和显示的几种方法。
使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 1.$("#id").show()表示为display:block, $("#id").hide ...
- 关于返回二维数组排序后序号数组的问题求解
这个题目挺拗口的,还是先来看这个问题的描述吧!详细也可以查看这个帖子< facebook一道面试题,求效率算法 >.因为本文是一边想一边写的,难免啰嗦,闭门造车和错误,请不吝赐教! /* ...
最新文章
- php column not found,java.sql.SQLException: Column 'cloumn name' not found.
- 数据机房建设常用材料有哪些?
- 【struts2+hibernate+spring项目实战】java读写实现代码生成器(ssh)
- 一个工作一年的程序员的告白
- uni-app 实现递增递减(js)
- Net Core下多种ORM框架特性及性能对比
- mipony linux客户端,Mipony网盘下载工具
- gui编写线性调频信号_是的,我编写了信号量,不,我不是OS开发人员。
- linux go vendor目录,Go 包依赖管理工具 —— govendor
- 简单的makefile模板
- 利用Outlook应用程序接口执行Shellcode
- 蚂蚁区块链第17课 错误码指导大全
- Error:algorithms should be set错误
- Bootstrap-collapse
- python现在版本强势英雄_当前版本中后期强势英雄排行榜,第一名后期无敌!
- 下载 | 954页《数据可视化》手册
- 读书百客:《双双燕·咏燕》赏析
- HDU_6078 Wavel Sequence
- pandas 根据筛选条件对指定excel列进行筛选
- Mac报错:TSM AdjustCapsLockLEDForKeyTransitionHandling_ISSetPhysicalKeyboardCapsLockLED Inhibit