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

哈哈哈,又遇到一道题,自己又成功编译,真开心。

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

思路:先找出数组的所有奇数,赋值到另一个数组中;然后重新遍历原数组,找出所有偶数,在新数组后面继续赋值,就OK啦。

代码:

void reOrderArray(vector<int> &array)

{
  int len=array.size();
  int num,count=0;
  vector<int> newarr;
  for(int i=0;i<len;i++)
  {
    if(array[i]%2)
    {
      num=array[i];
      newarr.push_back(num);
      //count++;
    }
  }
  for(int i=0;i<len;i++)
  {
    if((array[i]%2)==0)
    {
      num=array[i];
      newarr.push_back(num);
    }
  }
  array=newarr;
}

posted @ 2017-11-04 21:59  Julia-X  阅读(239)  评论(0编辑  收藏  举报