输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
// test14.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<string>
#include<cctype>
#include <vector>
#include<exception>
#include <initializer_list>
using namespace std;
string a[10];
class Solution {
public:
void reOrderArray(vector<int> &array) {
int oddNum = 0;
int evenNum = 0;
vector<int> odd;
vector<int> even;
for (auto it : array)//统计奇数和偶数个数
{
if (it % 2 == 0) { evenNum++; even.push_back(it); }
else { oddNum++; odd.push_back(it); }
}
array.clear();//清空array
for (auto it : odd) array.push_back(it);
for (auto it : even) array.push_back(it);
//cout << "统计结果是:" << endl;
//for (auto it : array)//验证统计结果
//{
// cout << it << " ";
//}
}
};
int main()
{
vector<int> array;
Solution so;
int num;
while (cin>>num)
{
array.push_back(num);
if (getchar() == '\n')
break;
}
so.reOrderArray(array);
return 0;
}