java - 我如何告诉快速排序算法它应该终止?

标签 java sorting recursion quicksort

好吧,我刚刚在学校开始学习排序算法。我想我非常了解快速排序的概念,因为我可以在一张纸上执行它。然而,有了一张纸,我就知道何时停止,也就是何时对数组进行排序。但是,如果我一直检查数组以查看它是否已排序,那就违背了快速排序的目的,快速排序(我认为)不是通过递归检查它是否已排序很多次。当按照定义排序时,我是否必须继续递归到数组中只剩下 1 个元素时,还是有其他方法来终止它?

最佳答案

Do I have to just keep recursing it down to when there is only 1 element left in the array when it is by definition sorted or is there some other way to terminate it?

是的,这正是快速排序应该终止的方式。

关于java - 我如何告诉快速排序算法它应该终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58985511/

相关文章:

java - 设置值并调用 get 方法后程序返回 0?

Java递归方法返回错误值

Python递归追加列表函数

php - 展平多维数组的函数无法按预期工作

C++ Boost递归变体重载apply_visitor

Java - 将指定数量的日期添加到日期

java - 在不使用 instanceof 的情况下使用重载方法进行动态调度(运行时多态性)

xslt - 在同一节点内按 ID 排序,然后按时间戳排序

Javascript 按具有多种含义的对象值(组)仅使用比较器进行排序

c++ - C++ 中二进制数据(长度不同)的字典顺序