2017-05-16 30 views
-3

我需要對多維數組進行排序而不需要任何預定義的方法,它將在邏輯上進行排序。 {7,4,5}};如何在邏輯上對java中的多維數組進行排序?

在一維陣列的情況下

INT NUM [] = {125,28,31,40,12};

for(int i=0;i<=num.length-1;i++){ 
    for(int k=0;k<=num.length-2;k++){ 
     if(num[k]>num[k+1]){ 
      int temp=0;  
      temp=num[k];  
      num[k]=num[k+1];  
      num[k+1]=temp;  
      }    
    }  
} 
for(int s=0;s<=num.length-1;s++){ 
    System.out.println(num[s]);   
} 

在多維數組的情況下會是什麼?

+2

歡迎堆棧溢出!請[參觀],環顧四周,並閱讀[幫助],特別是[*我如何問一個好問題?](/幫助/如何問)定義「邏輯上」,並且「沒有任何預定義的方法。」 (編寫軟件時沒有定義你想要提前做什麼的方法真的很尷尬。)顯示你的預期輸出。展示你的工作,試圖「邏輯上」。 –

+0

如果通過「預定義方法」引用類似'Collections.sort()'或'Arrays.sort()'的方法,那麼您的問題實際上是「我如何對數據進行排序?」這是**太廣泛**這裏的話題。在網上搜索排序算法。 ---至於「邏輯上」,你還沒有定義你想要的邏輯,所以你如何期待我們來幫助你?你想讓我們猜測你想要的結果嗎?這不是很合邏輯,是嗎? – Andreas

+0

感謝您的建議,問題被要求用於學習目的。 – Maher

回答

0

public static void main(String[] args) { 
 
     int u, arr[][] = {{1, 7, 2}, {9, 12}, {54, 25, 10}}; 
 
     for (int i = 0; i < arr.length; i++) { 
 
      for (int j = 0; j < arr[i].length; j++) { 
 
       for (int k = j + 1; k < arr[i].length; k++) { 
 
        if (arr[i][j] > arr[i][k]) { 
 
         u = arr[i][k]; 
 
         arr[i][k] = arr[i][j]; 
 
         arr[i][j] = u; 
 
        } 
 
       } 
 
       System.out.print(arr[i][j] + ","); 
 
      } 
 
      System.out.println(" "); 
 
     } 
 
}

相關問題