快速排序 ,为什么出现相同的数就不出结果了
#include<stdio.h>void swap(int *p1,int*p2)
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}
void Quick_Sort(int a[],int start,int end)
{
int pos;
if(start<end)
{
pos=pro(a,start,end);
Quick_Sort(a,start,pos-1);
Quick_Sort(a,pos+1,end);
}
}
int pro(int a[],int low,int high)
{
int key=a[low],p,i;
while(low!=high)
{
while(a[high]>key)
high--;
swap(&a[low],&a[high]);
while(a[low]<key)
low++;
swap(&a[low],&a[high]);
}
a[low]=key;
return low;
}
main()
{
int a[10]={23,4,24,31,41,1,56,43,67,5};//当a[10]中存在相同的数就不出结果了
int i;
Quick_Sort(a,0,9);
for(i=0;i<10;i++)
printf("%d ",a[i]);
}