**基本思路:**设定两个下标分别指向第一个元素和最后一个元素.
用前一个下标从左往右找到第一个奇数, 用后一个下标从右往左找到第一个偶数, 然后交换两个位置的元素.
依次循环即可.
/**
* 数组数字排列
* 给定一个整型数组, 将所有的偶数放在前半部分, 将所有的奇数放在数组后半部分
*/
class Demo12 {
public static void main(String[] args) {
int[] array = {1,3,2,5,3,6,8,9};
exchange(array);
System.out.println(Arrays.toString(array));
}
private static void exchange(int[] array) {
int left = 0;
int right = array.length-1;
while(left < right){
while(left < right && array[left] % 2 == 0){
left++;
}
while(left < right && array[right] % 2 != 0){
right--;
}
int temp = array[left];
array[left] = array[right];
array[right] = temp;
}
}
}