2014-10-02 83 views
-4

以下的java代碼做什麼?下面的Java代碼是做什麼的

public static void dontknow(int[] a){ 
    for (int i = 0; i < a.length; i++){ 
     for (int j = a.length-1; j > i; j--) 
     { 
      if (a[j-1] > a[j]) 
      { 
       int T = a[j-1]; 
       a[j-1] = a[j]; 
       a[j] = T; 
      } 
     } 
    } 
} 
+0

從最裏面塊開始,然後出路。這應該給你一些關於它是什麼算法的想法。 ;-) – NPE 2014-10-02 14:59:43

+6

'while(dontUnderstand()){testAndDebug(); }' – BackSlash 2014-10-02 15:00:06

+0

所以我會從if語句開始?我還沒有完全理解它,因爲我不知道這些值來自哪裏 – amb101293 2014-10-02 15:00:40

回答

0

這是Bubble Sort algorithm。它以有效的方式對數組進行排序。

+1

打擊「高效」。 Bubblesort效率相當低下,特別是這一點,因爲它可以比'a.length'迭代更早地檢測出完美的排序方式。 – kasoban 2014-10-02 15:10:32

2

這是一個相當怪異的實施Bubble Sort按大小的int數組內容進行排序。儘管是一個相當愚蠢的,因爲它不會停止陣列排序時,但始終使最大。通過次數(a.length迭代)。

+0

那麼這段代碼的功能目的是什麼? – amb101293 2014-10-02 15:27:33