STL中Sort()源码剖析

Posted WQP_Ya_Ping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL中Sort()源码剖析相关的知识,希望对你有一定的参考价值。

点击打开链接

Introspective Sorting(内省式排序算法)。它是一种混合式的排序算法,集成了堆排序、插入排序、快速排序三种算法各自的优点:

  • 在数据量很大时采用正常的快速排序,此时效率为O(logN)。
  • 一旦分段后的数据量小于某个阈值,就改用插入排序,因为此时这个分段是基本有序的,这时效率可达O(N)。
  • 在递归过程中,如果递归层次过深,分割行为有恶化倾向时,它能够自动侦测出来,使用堆排序来处理,在此情况下,使其效率维持在堆排序的O(N logN),但这又比一开始使用堆排序好.


以上是关于STL中Sort()源码剖析的主要内容,如果未能解决你的问题,请参考以下文章

《STL源码剖析》相关面试题总结

《STL源码剖析》——第四章序列容器

STL源码剖析——序列式容器#2 List

STL List::sort() 解析

STL源码剖析之组件

STL源码剖析