修改快速排序法程序中的错误
#include<stdio.h>void main()
{
int a[10]={17,7,17,5,17,5,9,4,17,5};
int i;
void sort1(int a[],int m,int n);
sort1(a,1,10);
for(i=0;i<10;i++)
printf("%4d",a[i]);
}
int split(int a[],int m,int n)
{
int i,j,k,u;
int t;
i=m-1;j=n-1;k=(i+j)/2;
if((a[i]>=a[j])&&(a[j]>=a[k])||(a[i]<=a[j])&&(a[j]<=a[k])) u=j;
else if((a[i]>=a[k])&&(a[k]>=a[j])||(a[i]<=a[k])&&(a[k]<=a[j])) u=k;
else u=i;
t=a[u];a[u]=a[i];
while(i!=j)
{
while((i<j)&&(a[j]>=t)) j=j-1;
if(i<j)
{
a[i]=a[j];i++;
while((i<j)&&(a[i]<=t)) i++;
if(i<j)
{
a[j]=a[i];j--;
}
}
}
a[i]=t;
return i;
}
void sort1(int a[],int m,int n)
{
int i;
if(n>m)
{
i=split(a,m,n);
sort1(a,m,i-1);
sort1(a,i+1,n);
}
return;
}