public class JiAndOu {
public static void main(String[] args) {
JiAndOu main = new JiAndOu();
main.doAction();
}
private void doAction() {
int[] nums = {1,2,1,2,1,1,1,2,2,2,2,1,1,2,2,2,2,1,1,1};
//int[] nums = {1,1,1,2,2,2};
sort(nums);
for (Integer i : nums) {
System.out.println(i);
}
}
private void sort(int[] nums) {
int idxj = 1;
int idxo = 0;
for (int i = 0; i < nums.length; i++) {
int curr = nums[i];
if (curr % 2 == 1) {
if (i % 2 == 1) {
idxj = Math.max(idxj, i + 2);
} else {
while (nums[i] % 2 == 1) {
swap(nums, i, idxj);
idxj += 2;
}
}
} else {
if (i % 2 == 0) {
idxo = Math.max(idxo, i + 2);
} else {
while (nums[i] % 2 == 0) {
swap(nums, i, idxo);
idxo += 2;
}
}
}
}
}
private void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}