# HDU 1157 快速排序

快速排序的水题，，用sort应该也可以，用来练习快速排序了。。题目：

# Who's in the Middle

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4266    Accepted Submission(s): 2148

Problem Description
FJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median' cow gives: half of the cows give as much or more than the median; half give as much or less.

Given an odd number of cows N (1 <= N < 10,000) and their milk output (1..1,000,000), find the median amount of milk given such that at least half the cows give the same amount of milk or more and at least half give the same or less.

Input
* Line 1: A single integer N

* Lines 2..N+1: Each line contains a single integer that is the milk output of one cow.

Output
* Line 1: A single integer that is the median milk output.

Sample Input
5 2 4 1 3 5

Sample Output
3

ac代码：

#include <iostream>
#include <cstdio>
using namespace std;
const int N=100005;
int num[N];
int partition(int low,int high){
int i=low,j=high,key=num[low];
while(i<j){
while(i<j&&num[j]>=key) --j;
int t=num[i];num[i]=num[j];num[j]=t;
while(i<j&&num[i]<=key) ++i;
t=num[i];num[i]=num[j];num[j]=t;
}
return i;
}
void quick_sort(int low,int high){
if(low<high){
int x=partition(low,high);
quick_sort(low,x-1);
quick_sort(x+1,high);
}
}
int main(){
// freopen("11.txt","r",stdin);
int n;
while(~scanf("%d",&n)){
for(int i=0;i<n;++i)
scanf("%d",&num[i]);
quick_sort(0,n-1);
printf("%d\n",num[n/2]);
}
return 0;
}

• 本文已收录于以下专栏：

## 快速排序——HDU 1425

• u013351484
• 2014年08月26日 09:05
• 761

## hdu1425 sort 快速排序

sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub...
• kyoma
• 2017年02月28日 18:47
• 203

## sort (HDU_1425) 快速排序

sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub...
• Keeping111
• 2016年03月13日 18:53
• 177

## HDU 1157 快速排序

• wmn_wmn
• 2012年03月27日 09:06
• 1604

## hdu排序练习

• 2012年04月14日 10:48
• 93B
• 下载

## HDU 1157

• sky_miange
• 2014年12月15日 13:10
• 697

## HDU 1157 Who's in the Middle （快速排序）

Problem Description FJ is surveying his herd to find the most average cow. He wants to know how much...
• kavu1
• 2015年08月17日 15:43
• 181

## 经典算法之一：快速排序

• hurmishine
• 2016年12月20日 21:28
• 1126

## 快速排序

• usher_ou
• 2017年04月06日 16:12
• 109

## HDU 1157（Who's in the Middle） 快速排序

• B08370108
• 2014年11月11日 21:16
• 320

举报原因： 您举报文章：HDU 1157 快速排序 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)