私はクイックソートアルゴリズムの次の実装を書きました.次のコードスニペットが機能しない理由を推測できません(コンパイルはうまくいきますが、実行時に実行できません.exeが機能しなくなりました).誰かが助けてくれれば幸いです.この点で私:
main( )
{
int a[ ]={9,2,3,1,6,5,6,3,2,9,8,1,4,5,5,6,5,99};
quicksort(a,0,17);
print(a,18);
}
void print(int a[ ],int n)
{
int i;
for (i=0;i<n;i++)
printf("%d\n",a[i]);
}
void swap(int a[ ],int left,int right)
{
int t;
t=a[left];
a[left]=a[right];
a[right]=t;
}
void quicksort(int a[ ],int left,int right)
{
int i,last;
if ( left >= right)
return;
swap(a,left,(last+right)/2);
last=left;
for (i=last+1;i<=right;i++)
if (a[i] < a[left])
swap(a,++last,i);
swap(a,left,last);
quicksort(a,left,last-1);
quicksort(a,last+1,right);
}