二維數組排序

代碼:數組

public static void main(String[] args) {
        int[][] arr = {{10, 20, 50}, {30, 40, 80}, {15, 100}};
        int[] arr2 = new int[(arr[0].length + arr[1].length + arr[2].length)];
        int sum = 0;//定義一個變量用於累加求和
        int index = 0;//定義一個下標用於給新數組賦值
        //循環輸出
        for (int[] arrs : arr) {
            for (int i : arrs) {
                sum += i;//累加和
                arr2[index] = i;//賦值
                index++;//下表迭代
            }
        }
        System.out.println("二維數組累加的和是" + sum);

        //排序
        for (int i = 0; i < arr2.length - 1; i++) {
            for (int k = 0; k < arr2.length - 1; k++) {
                if (arr2[k] < arr2[k + 1]) {
                    //交換元素,交換元素
                    int temp = arr2[k];
                    arr2[k] = arr2[k + 1];
                    arr2[k + 1] = temp;
                }
            }
        }

        //把排序後的一維數組添加到二爲數組
        index = 0;//初始化索引
        for (int i = 0; i < arr.length; i++) {
            for (int k = 0; k < arr[i].length; k++) {
                arr[i][k] = arr2[index];//進行賦值
                index++;//索引疊加
            }
        }
        //輸出排序後的二維數組
        for (int i = 0; i < arr.length; i++) {
            for (int k = 0; k < arr[i].length; k++) {
                System.out.print(arr[i][k] + " ");
            }
        }

    }
相關文章
相關標籤/搜索