|
|
|
@ -0,0 +1,49 @@
|
|
|
|
|
//复杂度:O(n^2)
|
|
|
|
|
//时间:1.7s
|
|
|
|
|
#include<stdio.h>
|
|
|
|
|
int par(int arr[],int left,int right)
|
|
|
|
|
{
|
|
|
|
|
int j=left,i;
|
|
|
|
|
int select=arr[right];
|
|
|
|
|
int t;
|
|
|
|
|
for(i=left;i<right;i++)
|
|
|
|
|
{
|
|
|
|
|
if(arr[i]<select)
|
|
|
|
|
{
|
|
|
|
|
t=arr[i];
|
|
|
|
|
arr[i]=arr[j];
|
|
|
|
|
arr[j]=t;
|
|
|
|
|
j++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
arr[right]=arr[j];
|
|
|
|
|
arr[j]=select;
|
|
|
|
|
return j;
|
|
|
|
|
}
|
|
|
|
|
void quickSort(int arr[],int left,int right)
|
|
|
|
|
{
|
|
|
|
|
int q;
|
|
|
|
|
if(left<right)
|
|
|
|
|
{
|
|
|
|
|
q=par(arr,left,right);
|
|
|
|
|
quickSort(arr,left,q-1);
|
|
|
|
|
quickSort(arr,q+1,right);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
int i=0;
|
|
|
|
|
int n;
|
|
|
|
|
scanf("%d",&n);
|
|
|
|
|
int a[n];
|
|
|
|
|
for(i=0;i<n;i++)
|
|
|
|
|
{
|
|
|
|
|
scanf("%d",&a[i]);
|
|
|
|
|
}
|
|
|
|
|
quickSort(a,0,n-1);
|
|
|
|
|
for(i=0;i<n;i++)
|
|
|
|
|
{
|
|
|
|
|
printf("%d ",a[i]);
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|