解读STL里的std::sort函数

本文是个人对 C++ 标准库里的 std::sort 函数的分析、解读。鉴于个人能力有限,文中若有错误、疏漏还请各位来打我啊多多调指教QAQ 当然,各家编译器的实现可能不同,这里我是用的是 LLVM 的实现。 LLVM > libcxx release 37 > algorithm 即 Xcode 8.2.1 中所使用的版本。其实在某一行上的实现方式有微小的不同,但是实际上是等价的。而且那一行也不涉及到这里讨论的 std::sort 函数。 这篇 post 由以下几个部分构成 引入 真正的 sort 实现 0 ~ 5 个元素时的排序 __sort3 的实现 __sort4, __sort5 的实现 6 ~ limit 的实现 较大规模时的实现 不完全的插入排序 总结 附带注释的 std::sort 引入 假设有一组由 vector 保存的元素。这里为了简单,我们使用 int 这种基本数据类型,并且直接指定为一组数字。 std::vector<int> array{2, 8, … Continue reading 解读STL里的std::sort函数