先算出奇数的个数,然后再分数组中的位置进行重新填充(需要克隆一个新数组)

public void reOrderArray(int [] array) {
        if(array.length <= 1)
            return;
        int cnt = 0; /*记录奇数的个数*/
        for(int i = 0; i < array.length; i++){
            if((array[i]&1) != 0)
                cnt++;
        }
        int q = 0,h = cnt;
        int[] copy = array.clone();
        for(int i = 0; i < copy.length; i++){
            if((copy[i]&1) != 0){
                array[q] = copy[i];
                q++;
            }else{
                array[h] = copy[i];
                h++;
            }
        }
    }