调整数组顺序是奇数位于偶数前面

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

思路:使用快排

 public void reOrderArray(int [] nums) {
     int low = 0;
        int high = nums.length -1;
        while(low < high) {
            while(low < high && nums[high]%2==0) high--;
            while(low < high && nums[low]%2 == 1) low++;
            if (low < high) {
                int t = nums[low];
                nums[low] = nums[high];
                nums[high] = t;
            }
        }
        return nums;
    }

 

posted @ 2017-04-08 14:34  雪浪snowWave  阅读(141)  评论(0编辑  收藏  举报