二维数组排序

代码:

        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] + " ");
            }
        }

    }
上一篇:题:编写代码 演示多个字符,从两端移动向中间汇聚


下一篇:我的第四个代码