定製排序和比較器排序
定製排序和比較器排序
案例1:二維陣列排序(n行m列,按照某列或者某幾列進行排序)
1.1按照二維陣列的第一和第二列
public static void main(String[] args) {
int n = 10, m = 3;
int[][] arr = new int[n][m];
Random rand = new Random();
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
arr[i][j] = rand.nextInt(5);
}
}
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
System.out.print(arr[i][j] + ",");
}
System.out.println();
}
System.out.println("----我是分割線----");
Arrays.sort(arr, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if(o1[0] == o2[0]){
return o1[1] - o2[1];
}
return o1[0] - o2[0];
}
});
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
System.out.print(arr[i][j] + ",");
}
System.out.println();
}
}
結果如下:
3,2,3,
2,4,1,
3,2,0,
4,0,1,
0,0,3,
0,3,1,
4,4,3,
4,3,1,
2,0,4,
1,1,0,
----我是分割線----
0,0,3,
0,3,1,
1,1,0,
2,0,4,
2,4,1,
3,2,3,
3,2,0,
4,0,1,
4,3,1,
4,4,3,
相關文章
- 堆排序和快速排序效能比較排序
- 氣泡排序、歸併排序與快速排序比較排序
- 幾種排序的比較排序
- 排序演算法效能比較排序演算法
- 利用compareTo方法進行字串比較排序字串排序
- 常用的比較排序演算法總結排序演算法
- 三種高階比較排序演算法排序演算法
- 《演算法筆記》4. 堆與堆排序、比較器詳解演算法筆記排序
- 【資料結構與演算法】非比較排序(計數排序、桶排序、基數排序)資料結構演算法排序
- 11.經典O(n²)比較型排序演算法排序演算法
- 選擇排序和快速排序排序
- 桶排序和基數排序排序
- 非交換排序-計數排序和桶排序排序
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 什麼是泛型?,Set集合,TreeSet集合自然排序和比較器排序,資料結構-二叉樹,資料結構-平衡二叉樹泛型排序資料結構二叉樹
- 歸併排序和基數排序排序
- 選擇排序和氣泡排序排序
- java排序方式對比Java排序
- 比較器-Comparable和Comparator
- 定時器-輸出比較PWM定時器
- 從java內建類和自定義類比較Comparable介面和Comparator介面實現排序的不同Java排序
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- 【JS面試向】選擇排序、桶排序、氣泡排序和快速排序簡介JS面試排序
- 排序演算法對比排序演算法
- 氣泡排序和選擇排序詳解排序
- Go實現氣泡排序和快速排序Go排序
- 氣泡排序和選擇排序流程圖排序流程圖
- Python教程:sort和sorted實現排序之對比Python排序
- 排序:氣泡排序&快速排序排序
- 利用java實現插入排序、歸併排序、快排和堆排序Java排序
- 為什麼處理排序陣列比未排序陣列快排序陣列
- Mysql中的雙路排序和單路排序MySql排序
- go 實現氣泡排序和插入排序Go排序
- 排序和查詢排序
- js 深比較和淺比較JS
- 【排序】插入類排序—(折半)插入排序、希爾排序排序
- php插入排序,快速排序,歸併排序,堆排序PHP排序
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法