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

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

思路:找到偶数,找到奇数,在这个区间内,各个位都向右移动,把奇数放到偶数的位置。

class Solution {
public:

    void reOrderArray(vector<int> &array) {

            for (int i = 0; i < array.size(); i++){
                if(array[i]%2==0){
                    for(int j=i+1;j< array.size();j++){
                        if((array[j]%2==1)){
                            int tmp = array[j];
                        for(int k =j;k>i;k--){
                            array[k]= array[k-1];
                        }
                           array[i]=tmp;
                        break;

                        }
                    }
                }
            } 
    }
};
View Code
原文地址:https://www.cnblogs.com/yuguangyuan/p/5884936.html