升序顺序排序数组是按降序打印的吗?

时间:2014-04-11 15:19:27

标签: java sorting matrix

   public void sortcolumn(double[] arraytosort) {
    a = new int[5];
    for (int i = 1; i < arraytosort.length; i++) {
        for (int j = 1; j < arraytosort.length; j++) {
            if ((arraytosort[i]) > (arraytosort[j])) {
                tempVar = arraytosort[j];
                arraytosort[j] = arraytosort[i];
                arraytosort[i] = tempVar;
                a[i] = j;
              }
      }
 System.out.println( a[i]);
    }
}


public void decisionvalue(double[][] arraydc){
    arrtemp = new double[arraydc.length];
    for(int i =0; i<arraydc[0].length;i++){
        System.out.println("The column matrix is");
        for(int j =1; j<arraydc.length;j++){
            arrtemp[j] =  arraydc[j][i];
        System.out.println(arrtemp[j]);
      }
        sortcolumn(arrtemp);
         System.out.println("The sorted column matrix is" +i);
        for(int k =1; k<arraydc.length; k++)
     System.out.println(arrtemp[k]);  
          }
  }

通过上面的代码,我正在对数组的列进行排序,然后打印它们。但我不明白为什么升序排序的元素按降序打印。有人请检查一下。谢谢!

以下是输出: 这是输入矩阵arraydc

0.0 0.0 0.0
25.0 10.0 24.0
25.0 5.0 23.0
25.0 23.0 6.0
25.0 89.0 8.0


列矩阵是 25.0 25.0 25.0 25.0


0 0 0 0


排序列矩阵为0 25.0 25.0 25.0 25.0


列矩阵是 10.0 5 23.0 89.0


2 1 2 3


排序列矩阵为1 89.0 23.0 10.0 5.0


列矩阵是 24.0 23.0 6 8.0


3 1 2 3


排序列矩阵为2 24.0 23.0 8 6.0


1 个答案:

答案 0 :(得分:0)

for (int j = i; j < arraytosort.length; j++) {

从第二个循环中的i开始