2014-03-26 53 views
0
public static void swap(int [] array) { 
    for (int i = 0; i < array.length-1; i++) { 
     int temp = array[i+1]; 
     array[i+1] = array[i]; 
     array[i]=temp; 
    } 
} 

我想交換每個相鄰元素兩個。此代碼爲我提供[2, 3, 4, 5, 6, 1]而不是[2, 1, 4, 3, 6, 5]交換相鄰元素按2分組[1,2,3,4,5,6] = [2,1,4,3,6,5]

+1

是不是很容易與筆和紙調試?這個問題似乎沒有很多努力顯然 –

+0

每個編程的學生,毫無例外都應該儘可能早地學會使用調試器。 –

回答

4

只需加2,因爲你基本上是要交換所有其他對連續元素:

for (int i = 0; i < array.length-1; i += 2) { 
            ^
+0

哇!很簡單!謝謝! – user3457171

+0

@ user3457171很高興能幫到你。考慮[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)這個答案,如果它爲你工作。 – arshajii