hdu 1425 sort
这个题目比较简单,主要是想写写快排练练手。。。
1 #include<stdio.h>
2 #define swap(x,y){int t=x;x=y;y=t;}
3 int a[1000000];
4 void quicksort(int l, int r)
5 {
6 int i,j,mid;
7 i = l;j=r;mid=a[(l+r)/2];
8 do
9 {
10 while(a[i]>mid)i++;
11 while(a[j]<mid)j--;
12 if(i<=j)
13 {
14 swap(a[i],a[j]);
15 i++;j--;
16 }
17 }while(i<j);
18 if(l<j) quicksort(l,j);
19 if(i<r) quicksort(i,r);
20 }
21
22 int main()
23 {
24 int i,n,m;
25 while(scanf("%d%d",&n,&m)==2)
26 {
27 for(i=0;i<n;i++)
28 scanf("%d",&a[i]);
29 quicksort(0,n-1);
30 for(i=0;i<m;i++)
31 {
32 if(i==m-1) printf("%d\n",a[i]);
33 else printf("%d ",a[i]);
34 }
35 }
36 return 0;
37 }