如何基于1D阵列对2D阵列进行排序

时间:2014-04-10 12:43:41

标签: arrays sorting multidimensional-array

所以我有类似的东西

  

011 - 50
  111 - 75
  001 - 25

这是我的计划:

public class Urut {
public void Sort (int [][] input1,int[] input2){
 for (int i = 0; i < 5; i++){
    for (int j = 0; j < 10; j++){
            for (int k = 0; k < 10-1; k++){
              if (input2[k] > input2[k+1]){
            int t;
                t = input1[k][i]; 
                input1[k][i] = input1[k+1][i]; 
                input1[k+1][i] = t; 
            }
        }
    }
 }
   for (int i = 0; i < 10; i++){
    for (int j = 0; j < 10-1; j++){
        if (input2[j] > input2[j+1]){
                int te = input2[j];
                input2[j] = input2[j+1];
                input2[j+1] = te;
        }
        }
    }
    for (int i = 0; i < 10; i++){
        for (int j = 0; j< 5; j++){
            System.out.print(input1[i][j]);
        }
        System.out.println(" " + input2[i]);
    }
}

}

我想根据右边的值(一维数组)对2D数组(0和1)进行排序。有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

让我猜一下!

它不是2D array,而是map。好的,2D array有两行。第一行是这样的:

011, 111, 001

,第二个是这样的

50, 75, 25

您想要排序第一行,考虑第二行。因此,对于您的示例,它将是:

由于001, 011, 111

25, 50, 75

如果我是对的,答案就在这里:How to sort a Map on the values in Java?

如果我错了,请添加评论,我会删除此答案。


编辑:

Java: Sort an array