給定一個陣列,沒有重複元素,要將其排列為一小一大一小一大,
比如:
[8,6,7,3,4,5] 結果是: [6,8,3,7,4,5]
[1,2,3,4,5] 結果是: [1,3,2,5,4]
one pass
void sort(int[] arr) {
for(int i = 0; i < arr.length - 1; i++) {
// 偶數位置,如果與後面比較是降序,交換
if(i % 2 == 0 && arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
}//奇數位置,如果與後面比較是升序,交換
else if(i % 2 == 1 && arr[i] < arr[i + 1]) {
swap(arr, i, i + 1);
}
}
return arr;
}