南阳255

 1 #include<stdio.h>
 2 int a[100];
 3 void q_sort(int*,int,int);
 4 int main()
 5 {
 6     int t,n;
 7     scanf("%d",&t);
 8     while(t--)
 9     {
10         scanf("%d",&n);
11         for(int i=0; i<n; ++i)
12             scanf("%d",a+i);
13         q_sort(a,0,n-1);
14         int ant=0,ans=1;
15         for(int i=1; i<n; ++i)
16             if(a[i]==a[ant])
17                 a[i]=0;
18             else
19             {
20                 ant=i;
21                 ++ans;
22             }
23         printf("%d\n%d",ans,a[0]);
24         for(int i=1; i<n; ++i)
25             if(a[i])
26                 printf(" %d",a[i]);
27         puts("");
28     }
29 }
30 
31 void q_sort(int a[],int x,int y)
32 {
33     if(x>y)
34         return ;
35     int i=x,j=y,t=a[x];
36     while(i!=j)
37     {
38         while(i<j && a[j]>=t) --j;
39         while(i<j && a[i]<=t) ++i;
40         if(i<j)
41         {
42             int temp=a[i];
43             a[i]=a[j];
44             a[j]=temp;
45         }
46     }
47     a[x]=a[i];
48     a[i]=t;
49     q_sort(a,x,i-1);
50     q_sort(a,i+1,y);
51 }

 

posted @ 2017-02-01 20:32  Posase  阅读(162)  评论(0编辑  收藏  举报