奇偶排序

//描述:输入若干(不超过1000个)非负整数数字,请先取出为奇数的数字按从大到小排序,再取出偶数从小到大进行排序。
//运行时间限制:10s
//内存限制:128Mbyte
//输入:输入一串乱序的数字
//输出:输出排序后的数字
//样例输入:12 34 5 7 92 3 8
//样例输出:7 5 3 8 12 34 92

整个问题的描述可以看出,需要做的就是 输入+判断奇偶+排序+输出。

输入:由于输入数量可变,采用vector的形式动态存储

vector<int> a; //原始输入数组
vector<int> odd_data,even_data; //奇数,偶数

可以除2余数是否为0判断奇偶

if (a[i]%2==0)
    even_data.push_back(a[i]); //偶数
else
    odd_data.push_back(a[i]); //奇数

排序采用冒泡排序法(此为从大到小排序:)

int i=0,j=0,t;
    for(i=0;i!=dat.size();i++)
        for (j=0;j!=dat.size()-i-1;j++)
            if (dat[j]<dat[j+1] )
            {
                t=dat[j+1];
                dat[j+1]=dat[j];
                dat[j]=t;
            }       

最后输出效果:
输入
输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值