请问大家这个快速排序哪里错了呢,为什么结果没有实现排序?
程序代码:#include <stdio.h>
void quick(int *a,int s,int e)
{
if(s>=e) return;
int b=a[s];
while(s<e)
{
while(a[e]>b&&s<e) e--;
if(s<e) a[s++]=a[e];
while(a[s]<b&&s<e) s++;
if(s<e) a[e--]=a[s];
}
a[s]=b;
quick(a,s,s-1);
quick(a,s+1,e);
}
int main()
{
int a[10]={5,9,6,3,4,7,8,2,1,6},i;
quick(a,0,10-1);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}







