我在用c写一个从一个文件中读出一组数字进行quicksort,然后存在一个新的文件中,现在只知道排序部分错了,但不知道错哪儿了,
;
}
main()
{
FILE *fp;
char filename[150];
int array[100];
printf("input filename:\n");
while(1)
{
gets(filename);
fp=fopen(filename,"r");
if(fp!=NULL)
break;
else
printf("error! input again.\n");
}
int a,i;
int length=0;
for(i=0;feof(fp)==0;++i)
{
fscanf(fp,"%d",&a);
array[i]=a;
length++;
}
fclose(fp);
Quicksort(array,0,length);
fp=fopen("g:\\1.txt","w+");
for(i=0;i<=length;i++)
{
fprintf(fp,"%d\n",array[i]);
}
fclose(fp);
}
复制粘贴少了一段
求人看看quicksort哪里错了
void Quicksort(int s[],int left,int right) /**/
{
if(left<right) /**/
{
int p=s[left];
int pivot,i;
pivot=left;
for(i=left+1;i<=right;i++)
{
if(s[i]<p)
{
pivot++;
swap(s[pivot],s[i]);
}
}
swap(s[pivot],s[left]);
Quicksort(s,left,pivot-1);
Quicksort(s,pivot+1,right); /**/
}
return;
}
哪里错了?求解,拜托拜托