Java二維陣列氣泡排序
阿新 • • 發佈:2018-12-30
以前都是將二維轉換成一維陣列排序,今天老師要求不轉換試了一下,仔細分析了一下冒泡,寫了這個大家可以試試其他的排序方法,應該都可以用
import java.util.Arrays; class Test { public static void main(String[] args) { int[][] arr={{11,15,32,21},{2,3},{4,5,6}}; int sum=0; for(int[] i: arr) for(int j:i) if(j>0x8fffffff&&j<0x7fffffff) sum++; for (int k = 0;k < sum; k++) { for (int i = 0;i < arr.length; i++) { for (int j = 0;j < arr[i].length; j++) { if ((j+1)%arr[i].length != 0) {//不是每行最後的元素 if (arr[i][j] > arr[i][j+1]) { int temp = arr[i][j]; arr[i][j] = arr[i][j+1]; arr[i][j+1] = temp; } } else { if (i+1 != arr.length) {//不是最後一行 if (arr[i][j] > arr[i+1][(j+1)%arr[i].length]) { int temp = arr[i][j]; arr[i][j] = arr[i+1][(j+1)%arr[i].length]; arr[i+1][(j+1)%arr[i].length] = temp; } } } } } } for(int[] i: arr) for(int j:i) System.out.print(j+" "); System.out.println(); } }