【CSDN|每日一练】奇偶排序

举报
海轰Pro 发表于 2022/11/23 19:41:12 2022/11/23
【摘要】 @TOC 运行结果 题目描述一个数组里有奇数有偶数(乱序),调整数组顺序使奇数位于偶数前面。(测试用例仅做参考,我们会根据代码质量进行评分) 输入描述:第一行输入整数n。 第二行输入n个整数。 输出描述:输出排序后的n个整数。 示例 代码需要注意一点的是:保持之前的排序(原数组中奇数的排序是3 1 23 ,重排后也要保持这个顺序)代码:// 请关闭中文输入法,用英文的字母和标点符号。// 如...

@TOC

在这里插入图片描述

运行结果

在这里插入图片描述

题目描述

一个数组里有奇数有偶数(乱序),调整数组顺序使奇数位于偶数前面。(测试用例仅做参考,我们会根据代码质量进行评分)

输入描述:

第一行输入整数n。 第二行输入n个整数。

输出描述:

输出排序后的n个整数。

示例

在这里插入图片描述

代码

需要注意一点的是:保持之前的排序(原数组中奇数的排序是3 1 23 ,重排后也要保持这个顺序)

代码:


// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改



#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;

std::vector<int> solution(int n, std::vector<int>& vec){
    std::vector<int> result;
    // TODO:
    for(int num : vec) {
        if(num % 2 == 1) {
            result.push_back(num);
        }
    }
    for(int num : vec) {
        if(num % 2 == 0) {
            result.push_back(num);
        }
    }
    return result;
}

int main() {

    int n;
    std::vector<int> vec;

    std::cin>>n;
    
    std::string line_0, token_0;
    getline(std::cin >> std::ws,line_0);
    std::stringstream tokens_0(line_0);
    while(std::getline(tokens_0, token_0, ' ')){
        vec.push_back(std::stoi(token_0));
    }
    

    std::vector<int> result = solution(n,vec);

    
    for(auto it=result.begin();it!=result.end();++it){
        std::cout<<*it<<" ";
    }
    std::cout<<std::endl;
    

    return 0;
}

运行结果

在这里插入图片描述

一言难进,这道题的本意应该是只需要奇数在前面,偶数在后半部分,结果这题的测试数据必须要求还按之前的顺序(题目中也不说…)

结语

Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
 
ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
 
唯有努力💪

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。