//修改了牛客评论上的数据搬移,后期在进行优化吧
//游标i,j一个指向奇数一个指向偶数,然后形成数据的搬移,和链表的快慢指针很像,快排的思想?个人感觉没有用到快排,只是用到了最基本的数据搬移思想,空间复杂度进一步降低,属于原地排序算法
public class Solution {
    public void reOrderArray(int [] a) {
        int len = a.length;
        if (len <= 1) return;
        
        int i = 0;  //游标i
        while (i < len-1){
            int j = i + 1;
            if(a[i] % 2 == 0){
                while (a[j] % 2 == 0){
                    if (j == len - 1)   return; //扫描到最后都是偶数返回
                    j++;
                }
                //此时j为奇数发生数据交换
                int temp = a[j];
                for (int k = j; k > i; k--) {
                    a[k] = a[k-1];
                }
                a[i] = temp;
            }
            i++;
        }
    }
}