#include <stdio.h>
int partition(int a[],int p,int r)
{
int i=p-1;
int x=a[r];
for(int j=p;j<r;j++)
{
if(a[j]<x)
{
i++;
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
int temp=a[i+1];
a[i+1]=a[r];
a[r]=temp;
return i+1;
}
void quickSort(int a[],int p,int r)
{
if(p>=r)
return;
int q=partition(a,p,r);
quickSort(a,p,q-1);
quickSort(a,q+1,r);
}
void printA(int a[],int len)
{
for(int i=0;i<len;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
void main()
{
int a[5]={60,3,55,12,1};
quickSort(a,0,4);
printA(a,5);
getchar();
}
算法导论 快速排序
最新推荐文章于 2023-09-30 13:10:06 发布