问题描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
源码:
一定要注意牛客网得题目和剑指offer的题目不一样,牛客网上还要考虑顺序,我写的是牛客网的程序。
冒泡的思想,当某一次迭代过程中没有交换的时候就终止程序。
class Solution {
public:void reOrderArray(vector<int> &array) {if(array.size()==0) return;int len = array.size();int i, j, flag = 1;for(i=0; i<len, flag==1; i++){for(j=len-1, flag=0; j>i ; j--){if(array[j]%2 != 0 && array[j-1]%2 == 0){swap(array[j], array[j-1]);flag = 1;}}}}
};