1. 程式人生 > >13 調整陣列順序使奇數位於偶數前面

13 調整陣列順序使奇數位於偶數前面

需要記錄排好序的最後一個奇數的位置odd_end
然後遇到奇數就一個一個向前交換,將該奇數交換到odd_end+1位置,更新odd_end=odd_end+1

class Solution {
public:
    void reOrderArray(vector<int> &array) {
        int array_len = array.size();
        int odd_end = 0;
        for(int i = 0; i < array_len; ++i){
            if(array[i] % 2
== 1){ int j = i; while(j > odd_end){ swap(array[j], array[j-1]); j--; } odd_end++; } } } };