zoukankan      html  css  js  c++  java
  • [华为机试真题]67.奇偶数入座

    题目

    这里写图片描写叙述

    代码

    /*---------------------------------------
    *   日期:2015-07-07
    *   作者:SJF0115
    *   题目:奇偶数入座
    *   来源:华为机试真题
    -----------------------------------------*/
    #include <iostream>
    #include <string>
    #include <vector>
    #include <stack>
    #include <algorithm>
    using namespace std;
    
    vector<int> OddEvenSort(vector<int> num){
        int i,j,k;
        int size = num.size();
        vector<int> result;
        if(size == 0){
            return result;
        }//if
        vector<int> odd;
        vector<int> even;
        // 奇偶分离
        for(i = 0;i < size;++i){
            // 奇数
            if(num[i] % 2){
                odd.push_back(num[i]);
            }//if
            // 偶数
            else{
                even.push_back(num[i]);
            }//else
        }//for
        // 排序
        sort(odd.begin(),odd.end());
        sort(even.begin(),even.end());
        // 整合
        int oddSize = odd.size();
        int evenSize = even.size();
        int number = 0;
        for(i = 0,j = 0,k = 1;i < oddSize || j < evenSize;++k){
            // 奇数
            if(k % 2){
                number = i < oddSize ? odd[i] : 0;
                ++i;
            }//if
            // 偶数
            else{
                number = j < evenSize ? even[j] : 0;
                ++j;
            }//else
            result.push_back(number);
        }//while
        return result;
    }
    
    int main(){
        int n = 10;
        freopen("C:\Users\Administrator\Desktop\acm.txt","r",stdin);
        vector<int> vec;
        int num,i;
        // 输入
        for(i = 0;i < n;++i){
            cin>>num;
            vec.push_back(num);
        }//for
        // 排序
        vector<int> result = OddEvenSort(vec);
        // 输出
        int size = result.size();
        for(i = 0;i < size;++i){
            if(i == size-1){
                cout<<result[i]<<endl;
            }//if
            else{
                cout<<result[i]<<" ";
            }//else
        }//for
        return 0;
    }
    
  • 相关阅读:
    Go之运算符
    前端开发之工具库
    MVC与MVVM
    开发工具之Vscode编辑器
    常用名词汇总
    python常见错误总结
    Python之常用第三方库总结
    PHP程序员的成长路线
    web 应用常见安全漏洞
    redis和memcached的区别详解
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5410226.html
Copyright © 2011-2022 走看看