题解 | #整数奇偶排序#

整数奇偶排序

http://www.nowcoder.com/practice/bbbbf26601b6402c9abfa88de5833163

比较函数区分为四种情况

  • 奇奇
  • 偶偶
  • 奇偶
  • 偶奇
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

bool Compare(int x, int y){
    if( x%2 == 1 && y%2==1){
        return y<x;//都是奇数,从大到小
    }else if(x%2==0 && y%2 == 0){
        return x<y;//都是偶数,从小到大
    }else if(x%2 == 0 && y%2 == 1){
        return false;//前偶后奇,不符合要求
    }else{
        return true;//前奇后偶
    }
    /*最后两句判断可以合为一句
        return x%2 > y%2;
    */
}

int main(){
    
    int arr[10];
    while(cin >> arr[0]){
        for(int i =1 ;i <10 ; i++)
            cin >> arr[i];
        
        sort(arr , arr +10, Compare);
        for(int i = 0;i<10 ; i++)
            printf("%d ",arr[i]);
        printf("\n");
    }
    return 0;
}
全部评论

相关推荐

10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务