注意:此页面搜索的是所有试题
以下程序是快速排序的算法
设待排序的记录序列存放在a[start],…a[end]中,按记录的关键字进行快速排序,先进行一次划分,再分别进行递归调用。
void quicksort ( NODE a[ ], int start ,int end )
{ int i,j;
NODE mid ;
if (start>=end )
return;
i=start;
j=end;
mid=a[i];
while (i<j)
{ while(i<j && a[j].key>mid.key)
j- -;
if(i<j)
{ a[i]=a[j];
___(1)_____;
}
while(i<j && a[i].key<=mid.key)
___(2)_____;
if(i<j)
{ ___(3)_____;
___(4)_____;
}
}
a[i]=mid;
quicksort (a,stat, i-1);
quicksort ___(5)_____;
}
【答案选项】
A. a[j]=a[i]
B. (a, i+1,end)
C. i++
D. j--


参考答案