gpt4 book ai didi

c++ - 为什么 std::sort 比手工编码的 "introsort"更快?

转载 作者:行者123 更新时间:2023-11-30 20:52:16 26 4
gpt4 key购买 nike

我使用快速排序、堆排序实现了介绍排序..我的手工编码版本基于 D. Musser 的建议,其中递归深度切换到作为参数传递的堆排序,中值 3 的主元选择。切换到简单插入排序的元素阈值是16。

最佳答案

gcc 和 Microsoft 的 VisualC++ 都提供了 std::sort 的源代码(在头文件算法中)。所以,你可以自己看一下。我之前调查过类似的问题。我的结论是,代码针对通用代码路径进行了优化,甚至达到了使代码变得更加复杂和难以维护的程度。对我来说有意义的权衡。

关于c++ - 为什么 std::sort 比手工编码的 "introsort"更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com