1
1
这个
第一条规则
编写递归函数的目的是定义无需执行任何操作的情况。您的代码不会执行此操作,并且
假设
它永远无法到达。大小为<=1进行真空分拣,并进行测试
这个 第二条规则 编写递归函数的目的是确保在每次内部调用时减少问题的大小。您的代码不会这样做,它会将整个向量传递给自身( 两次 ,如果第一个会回来的话)。
向量不按索引
您正在接受
实施自 here
如果你真的
坚决要求
只有一个函数参数时,可以使用范围库来完成(
|
2
1
我这样修改了你的代码。我决定将透视索引作为最后一项。并添加了一些测试代码。它工作正常。我认为,如果快速排序函数有from、to索引参数,则可以更简单地实现。
输出如下。
|
3
0
我建议使用
为了使函数只接受一个参数,一个
然而,实现的底部没有意义,因为
将始终启动
|
Lukas · 使用第一个索引作为数据透视的快速排序不起作用 6 年前 |
M-J · 快速排序中奇怪的堆栈溢出 7 年前 |
No Name QA · 快速排序霍尔阵列分区 7 年前 |
va05 · 没有临时变量的交换函数无法正确使用快速排序 7 年前 |
ABlueCrayon · 快速排序,在每个分区中交换中间和第一个元素 7 年前 |