数组排序

给定一个数组,没有重复元素,要将其排列为一小一大一小一大,

比如:

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

 

posted @ 2024-03-31 00:28  xiaoyongyong  阅读(8)  评论(0编辑  收藏  举报