||
最外层是median-of-3(起点,终点,中点的中位数)的快排;但限制了快排的递归深度,max_k{2^k}<n,其中n是要排序的数的个数,k是最大递归深度。当达到递归深度时,改用堆排序。定义了一个全局常数__stl_threshold=16,加了另一个限制,当元数个数不超过16时,快排结束。
当上面的过程结束后,就剩下多个元素个数小于16的子序列,每个都有相当程度的排序。
然后,做如下操作:
对于小于16的就用插入排序处理,大于16的,分割成一个16的片段用插入排序,一个剩余子序列用边界条件省略的插入排序。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 17:02
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社