Add 快速排序

快速排序
pg3o9mcf2 4 years ago
parent 55913fb357
commit bf45ae3631

@ -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;
}
Loading…
Cancel
Save