#include<stdio.h>
void quick_sort(int a[],int low,int high)
{
if(low>=high) return;
int i=low,j=high,key=a[i];
while(i<j)
{
while(i<j&&a[j]>=key)
{
j--;
}
a[i]=a[j];//找到了比key要小的,那么就应该给前面的i
while(i<j&&a[i]<=key)
{
i++;
}
a[j]=a[i];//找到了比key大的应该给j
}
a[i]=key;
quick_sort(a,low,i-1);
quick_sort(a,i+1,high);
}
int main()
{
int n;
scanf("%d",&n);
int num[n];
for(int i=0;i<n;i++)
scanf("%d",&num[i]);
quick_sort(num,0,n-1);
for(int i=0;i<n;i++)
printf("%d ",num[i]);
}
c语言实现快速排序
最新推荐文章于 2024-01-25 11:00:35 发布