【问题标题】:Sort 2D array elements in descending order按降序对二维数组元素进行排序
【发布时间】:2021-12-06 22:12:04
【问题描述】:

假设我有一个长度为 n 的二维数组,有没有办法可以根据子数组的大小对二维数组进行降序排序

例如:

{{"1","b","g"},{"e","3"},{"r","2","9","a"},{"2"}}

会变成:

{{"r","2","9","a"},{"1","b","g"},{"e","3"},{"2"}}

【问题讨论】:

  • 排序一维数字数组没有太大区别。你可以使用array.length。您的示例中的排序数组是升序,而不是降序。

标签: java arrays sorting multidimensional-array


【解决方案1】:
String tab[][] = new String[][]{{"1","b","g"},{"e","3"},{"r","2","9","a"},{"2"}};
String temp[];          
    for (int i = 0; i <tab.length; i++) {     
        for (int j = i+1; j <tab.length; j++) {     
            if(tab[i].length < tab[j].length) {
               temp = tab[i];    
               tab[i] = tab[j];    
               tab[j] = temp;    
             }     
          }     
      }             
System.out.println(Arrays.deepToString(tab));

输出:[[r, 2, 9, a], [1, b, g], [e, 3], [2]]

【讨论】:

    【解决方案2】:

    这个问题需要更多细节。

    考虑到给定的数据结构是一个数组,它看起来像 -

    [["1","b","g"],["e","3"],["r","2","9","a"],["2"]]
    

    要在 python 中对该数组进行排序,请考虑以下给定代码:-

    a = [["1","b","g"],["e","3"],["r","2","9","a"],["2"]]
    a.sort(key=len)
    

    它会根据子数组的长度对数组进行排序

    【讨论】:

    • 问题被标记为 java
    猜你喜欢
    • 1970-01-01
    • 2013-08-17
    • 2015-08-23
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 2013-01-03
    相关资源
    最近更新 更多