数据结构 C语言 快速排序 怎么运行结果有错啊,求大神解决。。谢谢啦

2025-06-27 20:23:18
推荐回答(3个)
回答1:

有两处花括号的位置错了
看后面有////////////////////////的部分

int Partition(SqList &L, int low, int high) {
//交换顺序表L中子表r[low..high]的记录,枢轴记录到位,并返回其所在位置,
//此时在它之前(后)的记录均不大(小)于它。
int pivotkey;
pivotkey = L.r[low].key; //用子表的第一个记录作枢轴记录

while (low < high) { //从表的两端交替地向中间扫描
while (low < high && L.r[high].key >= pivotkey) {
--high;}//////////////////////
L.r[0] = L.r[high];
L.r[high] = L.r[low];
L.r[low] = L.r[0];

while (low < high && L.r[low].key <= pivotkey) {
++low;}////////////////////////////
L.r[0] = L.r[high];
L.r[high] = L.r[low];
L.r[low] = L.r[0];

}
return low; //返回枢轴位置
}

回答2:

这个得好好看看!!!别着急啊

回答3:

背会别人的代码没人说你抄袭。