当前位置: 代码迷 >> 综合 >> 剑指offer-调整数组顺序使奇数位于偶数前面
  详细解决方案

剑指offer-调整数组顺序使奇数位于偶数前面

热度:25   发布时间:2024-01-25 19:44:15.0

问题描述:

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

源码:

一定要注意牛客网得题目和剑指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;}}}}
};

 

  相关解决方案