package com.test;
import java.util.Arrays;
public class Test {
public static void main(String[] args){
int[] arr = {1,2,3,4,6,7,8};
transform(arr);
System.out.println(Arrays.toString(arr));
}
public static void transform(int[] arr){
boolean flag = true; //数组交换完成标记
int left = 0; //left取数组最左边元素的下标
int right = arr.length - 1; //right取数组最右边元素下标
while(flag){ //交换未完成
while (left < right && arr[left] %2 == 0){ //找到奇数
left++;
}
while (left < right && arr[right] %2 != 0){ //找到偶数
right--;
}
//交换两个元素
int temp;
temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
if (left >= right){ //数组交换结束
flag = false; //标记赋值为false
}
}
}
}