POJ 2388(中位数)

来源:互联网 发布:北大光华知乎 编辑:程序博客网 时间:2024/05/17 22:06

求一组数的中位数

巨羡慕C党有sort用


Program P2388;var   n,i,j:longint;   a:array[1..10010] of longint;Procedure qsort(l,r:longint);var   i,j,m,p:longint;begin   i:=l;   j:=r;   m:=a[(l+r) shr 1];   repeat      while a[i]<m do inc(i);      while a[j]>m do dec(j);      if i<=j then      begin         p:=a[i];a[i]:=a[j];a[j]:=p;         inc(i);dec(j);      end;   until i>j;   if l<j then qsort(l,j);   if i<r then qsort(i,r);end;begin   read(n);   for i:=1 to n do read(a[i]);   qsort(1,n);   writeln(a[(1+n) shr 1]);end.