用2D数组排序 [英] Sorting with 2D Arrays

查看:107
本文介绍了用2D数组排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将随机数排序到2D数组中的帮助.我必须将50个随机数生成到数组的一列中,然后按顺序(按升序或降序)对数字进行排序.这是我到目前为止所拥有的,我是如此迷失.请帮忙.

I need help with sorting Random numbers into a 2D array. I have to generate 50 random numbers into a column of the array, then sort the numbers in order (ascending or descending). This is what I have so far and am so lost. Please Help.

更新版本

UPDATED VERSION

public static void main(String[] args) 
{
    int rows = 2;
    int columns = 50;

    int[][] anArray = new int[rows][columns];

    Random rand = new Random();

    for (int i = 0; i < anArray.length; i++) 
    {
        for (int j = 0; j < anArray[0].length; j++) 
        {
            int n = rand.nextInt(100);
            anArray[i][j] = n;
        }
    }

    int []temp;
    for (int i=0;i<anArray.length;i++)
        {  
            for (int j=0;j<anArray.length-i;j++ )
            {
                if (anArray[i][j]>anArray[i][j+1])
                {  
                    temp =anArray[j];
                    anArray[j+1]=anArray[j];
                    anArray[j+1]=temp;
                }
            }
        } 

    for (int i = 0; i < anArray.length; i++) 
    {
        for (int j=0;j<anArray.length-i;j++ )
        { 
            System.out.println(anArray[i][j]);
        }
    }          
}
}

推荐答案

您可以使用自定义

You can sort 2D arrays on their initial element using a custom Comparator:

Arrays.sort(anArray, new Comparator<int[]>() {
    public int compare(int[] lhs, int[] rhs) {
        return lhs[0]-rhs[0];
    }
});

这篇关于用2D数组排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆