java中二维数组的排序

首先定义一个5X8的二维数组,然后使用随机数填充满。
借助Arrays的方法对二维数组进行排序。
参考思路:
先把二维数组使用System.arraycopy进行数组复制到一个一维数组
然后使用sort进行排序
最后再复制回到二维数组。

关于随机数
0-100的 随机整数的获取办法有多种,下面是参考办法之一:

import java.util.Arrays;

public class TwoDimenSort {
    public static void main(String[] args) {
        int xLen = 5;
        int yLen = 8;
        int[][] a = new int[xLen][yLen];
        //使用随机数填充二维数组
        for(int i=0;i<xLen;i++) {
            for(int j=0;j<yLen;j++) {
                a[i][j] = (int)(Math.random() * 100);
            }
        }
        //复制二维数组到一维数组
        int[] b = new int[xLen * yLen];
        int k = 0;
        for(int i=0;i<xLen;i++) {
            for(int j=0;j<yLen;j++) {
                b[k++] = a[i][j];
            }
        }
        System.out.println("排序前:");
        for(int i=0;i<xLen;i++) {
            System.out.println(Arrays.toString(a[i]));
        }
        //调用Arrays中的sort方法
        Arrays.sort(b);
        //将排序后的值复制回二维数组
        k = 0;
        for(int i=0;i<xLen;i++) {
            for(int j=0;j<yLen;j++) {
                a[i][j] = b[k++];
            }
        }
        System.out.println("排序后:");
        for(int i=0;i<xLen;i++) {
            System.out.println(Arrays.toString(a[i]));
        }
    }

}

原文地址:https://www.cnblogs.com/loufangcheng/p/10531665.html

时间: 2024-11-13 09:40:29

java中二维数组的排序的相关文章

Java中二维数组的操作

//1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 输出要放在循环里面,放在外面就报错了 打debug确定二维数组的关系 现在程序在7与8行进行循环 ------------------------------------------------------------------------------------------------------------------------------------ 然后经历一个中间阶段 然后继续 一直到 就结束了 二维数组内存结

Java中二维数组与面向对象

1:二维数组(理解) (1)元素是一维数组的数组. (2)格式: A:数据类型[][] 数组名 = new 数据类型[m][n]; B:数据类型[][] 数组名 = new 数据类型[m][]; C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}}; D:数据类型[][] 数组名 = {{...},{...},{...}}; (3)案例(掌握): A:二维数组的遍历 B:二维数组的求和 C:杨辉三角形 2:两个思考题(理解) (1)Java中的参数传递

Java中二维数组和面向对象

1.数组 二维数组的定义格式: 数据类型[][] 数组名=new 数据类型[m][n]; 数据类型[][] 数组名=new 数据类型[m][]; 数据类型[][] 数组名={{...},{...},{...}}; 举例: public class Main { public static void main(String[] args) { int[][] a=new int[3][2]; a[0][0]=1; System.out.println(a[0][0]); } } public cl

php中二维数组排序问题方法详解

合肥开源IT教育分享一篇<php中二维数组排序问题方法详解>的文章希望能够帮助在学习php的新手们,如果还有什么不懂的问题 可以关注我们的官方网站:www.kyitjy.com  豪华的名师团队,多位技术专家授课,多位核心研发工程师研发授课. PHP中二维数组排序,可以使用PHP内置函数uasort() 示例一: 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 回调函数如下:注意回调函数的返回值是负数或者是false的时候,表示回调函数的第一个参数在前,第二个参数在后排列 $per

php多维数组自定义排序 uasort()

php内置的排序函数很多:正反各种排: 常用的排序函数: sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据值,以降序对关联数组进行排序krsort() - 根据键,以降序对关联数组进行排序 基本都能满足需求了:关于这些函数的使用方法就不多啰嗦了: 但是在项目的实际开发中还是会有些更加苛刻的排序需求:今天要介绍的排序函数是: uasort() ua

array_multisort—对多个数组或多维数组进行排序

From: http://www.cnblogs.com/lwbqqyumidi/archive/2013/01/31/2887188.html PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以行来排序——这类似于 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的

java二维数组的常见初始化

public class Test{ public static void main(String[] args){ //第一种: //int[][] arr1 = new int[][]{{1,2}, {2, 3}, {4, 5}}; int[][] arr1 = {{1,2}, {2, 3}, {4, 5}}; System.out.println("arr1的数值:"); for(int i=0; i<3; ++i) for(int j=0; j<2; ++j) Sy

C++中二维数组的动态分配

作者:   来源:csdn博客   公布者:admin 时间:2009-04-23 13:55:03   点击:115 C++中一维数组的动态分配十分经常使用,但C++刚開始学习的人可能非常少想过要使用动态分配的二维数组,或者自觉得二维数组就是这样分配的(至少我自己開始的时候就这样觉得):int m=2, n=3; int** array2D=new int[m][n];.这全然是我们写多了像int n=4; int* array=new int[n];这种语句留下的后遗症,纯粹是由于惯性太大刹

PHP array_multisort—对多个数组或多维数组进行排序

PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以行来排序--这类似于 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推.--这句话是理解此函数用法的关键. 第一个参数必须是一个数组.接下来的每个参数可以是数组或者是下面列出的排序标志. 排序顺序