我正在编写一个需要使用快速排序的程序。我想知道是否有一个准备就绪的功能来代替编写整个代码。
答案 0 :(得分:3)
是的,排序是内置在标准库中的,如std::sort
标头中声明的那样。 不能保证使用快速排序,但实际上总是会这样,因为很少有与快速排序相匹配的排序算法可以满足预期的时间复杂度和空间复杂度。
(UKMonkey和Blaze指出,从技术上讲,使用了Introsort,它从quicksort开始,如果检测到病理排序将导致quicksort产生<algorithm>
性能,则回落到heapsort。这用于防止{{ 3}},在实践中永远不会发生。)