计蒜客t1153——整数奇偶排列_13号的加特霖的博客-爱代码爱编程
兄弟们,昨天德国队输球了,这届世界杯看的是真难受,现在整个人已经震惊得有点说不出来话了。。。这道题本来很简单,但是被我写复杂了,我用的是两个vector分别处理奇数和偶数,最后用algorithm头文件自带的sort和reverse函数直接处理好再拼凑在一起,其实用普通的数组自己写逻辑也很快能写出来,不过我现在的状态实在是不想思考逻辑了,本帖仅供参考,只能通过,不算高明的做法。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char** argv)
{
vector<int> V;
for(int i=1;i<=10;i++)
{
int n=0;
cin>>n;
V.push_back(n);
}
vector<int> V1,V2;
for(int i=0;i<=9;i++)
{
if(V[i]%2==1)
V1.push_back(V[i]);
else
V2.push_back(V[i]);
}
V.clear();
sort(V1.begin(),V1.end());
sort(V2.begin(),V2.end());
reverse(V1.begin(),V1.end());
//空间换时间,并不是高明的做法
//注意sort算法默认从小到大排序
for(int i=0;i<=V2.size()-1;i++)
{
V1.push_back(V2[i]);
}
for(vector<int>::iterator it=V1.begin();it!=V1.end();it++)
{
cout<<(*it)<<" ";
}
return 0;
}