运维开发网

二维数组排序

运维开发网 https://www.qedev.com 2020-11-14 11:10 出处:51CTO 作者:我是lsp
代码:publicstaticvoidmain(String[]args){int[][]arr={{10,20,50},{30,40,80},{15,100}};int[]arr2=newint[(arr[0].length+arr[1].length+arr[2].length)];intsum=0;//定义一个变量用于累加求和intindex=0;//定义一个下标用于给新数组赋值//循环输出

代码:

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

    }

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号