问题标题: 酷町堂:1153 数据分析(median)

0
0

0
已采纳
徐云皓
徐云皓
新手天翼
新手天翼

先排序,

如果是奇数, cout<<a[n/2+1];

如果是偶数,cout<<(a[n/2]+a[n/2+1])/2;

sort 就是 快速排序,定义一个数组 a[100],如果是你要从 0~n-1  排序 ,那就是sort(a,a+n)。

如果是你要从 1~n  排序 ,那就是sort(a+1,a+n+1) 。这样是从小到大排序。
sort( a+? , a+? ) 是控制位置的。

如果要从大到小排序,可以弄一个函数

bool cmp(int x,int y){

     return x>y;

}

排序时 sort(a,a+n,cmp);

徐云皓在2018-10-06 16:27:41追加了内容

本题调用bits/stdc++.h库,
然后定义一个a[maxn]数组const int maxn=30001;(在主程序外!!!)int a[maxn];

 用sort函数排序:sort(a,a+n);

然后if判断奇偶

 偶数:cout<<(a[(n-1)/2]+a[n/2])/2;
 奇数:cout<<a[(n-1)/2];

0
我要回答