数组排序
给定一个数组,没有重复元素,要将其排列为一小一大一小一大,
比如:
[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;
}