交叉排序
来源:互联网 发布:sqlserver 在线格式化 编辑:程序博客网 时间:2024/05/15 07:19
题目描述
输入N个数,把所有奇数位置上的数从小到大排序,把偶数位置上的数从大到小排序。
输入
输入的第一行是一个正整数N(2<=N<=100)。
第二行是N个用空格隔开的整数。
第二行是N个用空格隔开的整数。
输出
输出只有一行N个数,是按要求排序后的序列,用空格隔开。
示例输入
61 2 3 4 5 6
示例输出
1 6 3 4 5 2
#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;bool cmp(int x, int y){return (x>y)?1:0;}int main(){ int a[10000], b[10000]; int n, i, j, k, t; while(~scanf("%d", &n)){k = j = 0;for(i=0; i<n; i++){scanf("%d", &t);if(i%2==0)a[j++] = t;elseb[k++] = t;}sort(a, a+j);sort(b, b+k, cmp); if(n%2==0) for(i=0; i<n/2; i++) { printf("%d ", a[i]);if(i!=(n/2)-1)printf("%d ", b[i]);else printf("%d\n", b[i]); } else{ for(i=0; i<(n+1)/2; i++) { if(i!=n/2) printf("%d ", a[i]); else printf("%d\n", a[i]); if(b[i]!='\0')printf("%d ", b[i]); }}}return 0;}
0 0
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉--排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 交叉排序
- 【操作系统】进程同步代码札记
- HDU1421_搬寝室【最优决策】
- ZigBee串口收发数据
- [Android 性能优化系列]布局篇之动态加载布局
- hdu 2149 Public Sale 博弈
- 交叉排序
- 遗传算法优化策略
- 杭电2132An easy problem
- POJ 3299 Humidex(简单题)
- iOS8 中的 Size Class
- MyEclipse中js的乱码问题
- 自我介绍和博客目的
- silverlight 中 物件儿的位置变换 TransformGroup,RotateTransform 和 ScaleTransform 用C#
- symbol:constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature