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

// test14.cpp : 定义控制台应用程序的入口点。
//

include "stdafx.h"

include

include

include

include

include

include <initializer_list>

using namespace std;
string a[10];

class Solution {
public:
void reOrderArray(vector &array) {
int oddNum = 0;
int evenNum = 0;
vector odd;
vector 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 array;
Solution so;
int num;

while (cin>>num)
{
array.push_back(num);
if (getchar() == '\n')
break;
}
so.reOrderArray(array);

return 0;
}

posted @ 2016-09-29 16:00  wdan2016  阅读(994)  评论(0)    收藏  举报