#includeint a[100], N,b[100];
void removal(int N)//过滤重数并赋值到b数组,含有打印
{
int i = 1,j=0;
for (;i <= N;i++)
{
if (a[i] == a[i + 1])
{
continue;
}
j++;
b[j] = a[i];
}
printf("%d\n", j);
for (int k = 1;k <= j;k++)
{
printf("%d ", b[k]);
}
printf("\n");
}
void quicksort(int left, int right)//快速排序方法
{
int temp, i, j,t;
if (left > right)
{
return;
}
temp = a[left];
i = left;
j = right;
while (i != j)
{
while (a[j] >= temp && i < j)
{
j--;
}
while (a[i] <= temp && i < j)
{
i++;
}
if (i < j)
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
a[left] = a[i];
a[i] = temp;
quicksort(left, i - 1);
quicksort(i + 1, right);
}
int main()
{
scanf("%d",&N);
for(int i=1;i<=N;i++)
{
scanf("%d",&a[i]);
}
quicksort(1, N);
removal(N);
return 0;
}
```