HDU 2673 shǎ崽 OrOrOrOrz

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2673

排序题

刚讲了归并排序

就用归并排序做

View Code
 1 #include<stdio.h>

 2 void qsort(int a[],int l,int r)

 3 {

 4     int x=a[l],i=l,j=r;

 5     if(l>=r)return;

 6     while(i<j)

 7     {

 8         while(i<=j&&a[j]>=x)

 9         j--;

10         a[i]=a[j];

11         while(i<j&&a[i]<=x)

12         i++;

13         a[j]=a[i];

14     }

15     a[i]=x;

16     qsort(a,l,i-1);

17     qsort(a,i+1,r);

18 }

19 int main()

20 {

21     int i,n,a[10001],t;

22     while(~scanf("%d",&n))

23     {

24         t=n;

25         for(i=0;i<n;i++)

26     {

27         scanf("%d",&a[i]);

28     }

29     qsort(a,0,n-1);

30     if(n%2!=0)

31     {

32         for(i=0;i<n;i++)

33     {

34         printf("%d",a[n-1]);n--;

35         if(i!=n)

36         {

37             printf(" ");

38         }

39         if(i!=n)

40         {

41             printf("%d ",a[i]);

42         }

43     }

44     }

45     else{

46         for(i=0;i<n;i++)

47     {

48         printf("%d ",a[n-1]);n--;

49         if(i!=(t-1)/2)

50         {

51             printf("%d ",a[i]);

52         }

53         else

54         printf("%d",a[i]);

55     }

56 

57     }

58     printf("\n");

59     }

60     return 0;

61 }

你可能感兴趣的:(ror)