文章
11
粉丝
223
获赞
14
访问
55.1k
我自定义奇偶性的排序规则:
两个数a、b的奇偶性无非3种情况
1)同为奇数 ,降序即可
2)同为偶数 ,升序即可
3)一奇一偶,奇在偶前
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b)
{
// 奇数降序、偶数升序
int i = a & 1, j = b & 1;
if (i && j) // 同为奇数,降序
return a > b;
else if (!i && !j) // 同为偶数,升序
return b > a;
return i > j; // 奇在偶前
}
int main()
{
// 思路: 多级排序即可
int a[10];
while (cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4] >> a[5] >> a[6] >> a[7] >> a[8] >> a[9])
{
sort(a,a+10,cmp);
for (int i = 0; i < 10; ++i)
cout &...
登录后发布评论
暂无评论,来抢沙发