下面为快速排序中的一次划分算法,找出错误并修改完善该算法;在修改后的算法中,标记出原出错处。
int partition(Sqlist &L,int low,int high)
{ temp=L.r[high];
while(low<key)
{
while(low<high&&L.r[high].key>=temp.key)-high;
L.r[low]=temp;
while(low<high&&L.r[low].key<=temp.key)++high;
L.r[high]=L.r[high];
}
L.r[low]=L.r[high]; return low
while(pa&&La)
{ if(pa->data<=La->data)
{pc->next=pa;pc=pa;pa=pa->next;}
}
pc->next=pa?pa;pb;
free(La);
}//M ergelist
