/** \brief poj2388 * * \param date 2014/8/5 * \param state AC * \return memory time * qsort 784K 110ms * ksort 780K 172ms */ #include <iostream> #include <fstream> #include <cstring> #include <algorithm> using namespace std; const int MAXN=10000; int Arr[MAXN]; /* bool Comp(const int& a,const int& b) { if(a!=b)return a<b; else return a>b; } */ int Comp(const void* a,const void* b) { return *(int* )a-*(int* )b; } void ksort(int l,int h,int a[]) { if(h<l+2)return ; int e=h,p=l; while(l<h) { while(++l<e && a[l]<=a[p]); while(--h>p && a[h]>=a[p]); if(l<h) swap(a[l],a[h]); } swap(a[h],a[p]); ksort(p,h,a); ksort(l,e,a); } int main() { //cout << "Hello world!" << endl; //freopen("input.txt","r",stdin); int N; while(scanf("%d",&N)!=EOF) { memset(Arr,0,sizeof(Arr)); for(int i=0;i<N;i++) { cin>>Arr[i]; } // //qsort(Arr,N,sizeof(Arr[0]),Comp); //cout<<Arr[N/2]<<endl; ksort(0,N,Arr); cout<<Arr[N/2]<<endl; } return 0; }
poj2388 快速排序 模板题,布布扣,bubuko.com
原文地址:http://blog.csdn.net/greenapple_shan/article/details/38389205