题解 | #明明的随机数#
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
#include <stdio.h>
void _quick_sort(int* arr,int left,int right)
{
if(left >=right) return;
int l=left,r=right;
int p=(l+r)/2;
int val=arr[p];
while(l<r)
{
while(l<p && arr[l]<=val) l++;
if(l<p)
{
arr[p]=arr[l];
p = l;
}
while(r>p&&arr[r]>=val) r--;
if(r>p)
{
arr[p]=arr[r];
p = r;
}
}
arr[p]=val;
_quick_sort(arr,left,p-1);
_quick_sort(arr,p+1,right);
}
void quick_sort(int *a,int len)
{
_quick_sort(a,0,len-1);
}
int main()
{
int size=0;
scanf("%d",&size);
int a[size];
fflush(stdin);
for(int i=0;i<size;)
{
scanf("%d",&a[i]);
i++;
for(int j=0;j<(i-1);j++)
{
if(a[j]==a[i-1])
{
i--;
size--;
//printf("---------\n");
}
}
}
quick_sort(a,size);
for(int i=0;i<size;i++)
{
printf("%d\n",a[i]);
}
}

