老师,快排,堆栈溢出了,!!!
来源:3-5 快速排序法 - Quick Sort
我会回来的333
2021-05-03
老师这里我写==和您写>=有什么区别嘛?我感觉都一样,所以我写了等等,然后就堆栈溢出了,这是无限递归了?
写回答
3回答
-
l 是有可能大于 r 的。当 l > r 的时候,从逻辑的角度,不应该做任何事情,因为此时表示要处理的区间 arr[l, r] 为空。但是如果不 return,在下面会继续处理。
换一个小数据量,尝试跟踪一下试试看?
继续加油!:)
112021-05-03 -
我会回来的333
提问者
2021-05-04
老师我把我的代码又测了测近乎有序数组结果
这个是有序元素越多它就会树越高,高到一定程度应该就会溢出了
00 -
我会回来的333
提问者
2021-05-03
想了半天,老师终于想成这样的结果了,第一个递归处理的是[0~上面每个j)的元素,当j左边没有元素的时候第一个递归就到最低层了,现在看l和r的大小,l>r,第二个递归处理的是(上面每个j~右边剩下的元素],当j右边只有一个元素的时候第二个递归就到最低层了,现在看l和r的大小,l=r,所以说是两种情况一种为空的情况停止递归,一种为一个元素的情况停止递归,不知道我理解的对不对呢?波波老师?
还有老师,这里我测试的是随机从1-100的取值的元素,100万个,然后测试结果,如果测试1-10取值的话就直接溢出了
032021-05-04
相似问题