奇偶排序

来源:互联网 发布:网络加速器下载免费版 编辑:程序博客网 时间:2024/05/21 09:22

//描述:输入若干(不超过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;            }       

最后输出效果:
输入
输出

0 0
原创粉丝点击