陣列排序

xiaoyongyong發表於2024-03-31

給定一個陣列,沒有重複元素,要將其排列為一小一大一小一大,

比如:

[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; }

相關文章