我使用quicksort实现了introsort,heapsort .. 我的手动编码版本是基于D. Musser的建议,其中递归深度切换到作为参数传递的heapsort,3个中心枢轴选择。切换到简单插入排序的元素阈值是16。
答案 0 :(得分:3)
gcc和Microsoft的VisualC ++都提供了std :: sort的源代码(在头文件算法中)。所以,你可以自己看看。我以前调查过类似的问题。我的结论是,代码针对通用代码路径进行了优化,甚至使代码更复杂且难以维护。对我有意义的权衡。