调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。
如数组:[1,2,3,4,5,6]
调整后可能是:[1, 5, 3, 4, 2, 6]
思路:1.i遇到偶数停止
2. j遇到奇数停止
3.然后交换
然后代码就完成了:
public static void select(int[] arr) {
int i = 0;
int j = arr.length - 1;
while (i < j) {
while (i < j && arr[i] % 2 != 0) {
i++;
}
while (i < j && arr[j] % 2 == 0) {
j--;
}
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6};
select(arr);
System.out.println(Arrays.toString(arr));
}