【剑指offer】调整数组,奇数位于偶数的前面

来源:互联网 发布:怎么找淘宝达人 编辑:程序博客网 时间:2024/06/16 11:54

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

程序思想:从数组的后面向前面遍历,每遇到一个奇数就把该奇数放到数组的最前方。

// 从后面往前遍历,遇到奇数就往第一个放void reOrderArray(vector &array) {       int length = array.size()-1;    int index = 1;    for (int i = length; i>-1; i--) {            int temp = array[length];        if (temp % 2 == 1) {            vector::iterator temp_it = array.end()-index;                    array.erase(temp_it);            array.insert(array.begin(), temp);        } else {            length--;            index++;        }    }}

阅读全文
0 0