快速排序降序排序算法

#include <stdio.h>
/*
快排降序排序 

*/

//参数 l为数组的左下标,r为排序数组的右下标,

void quick_sort(int a[],int l,int r)
{
int i=l,j=r;
int A=a[l];
while(i < j)
{
while(i < j && A > a[j])
{
j--;
}
if(i<j)
{
a[i++]=a[j];
}
while(i<j&&A<a[i])
{
i++;
}
if(i<j)
{
a[j--]=a[i];
}
}
a[i]=A;
if(l<i)
{
quick_sort(a,l,i-1);
}
if(r>i)
{
quick_sort(a,i+1,r);
}

}


int main()
{
int arry[10]={5,55,34,14,68,73,22,46,66,94};
int len=sizeof(arry)/sizeof(int);
int i;
quick_sort(arry,0,len-1);
for(i=0; i<len; ++i)
{
printf("%d ",arry[i]);
}

return 0;
}

猜你喜欢

转载自blog.csdn.net/yy_9117/article/details/80410158