STL里的sort算法用的是什么排序算法?
sort源码:

(堆排序)

_Ideal是元素的个数
每次递归:_Ideal都要缩小
_Ideal来控制栈的深度,是为了让树趋于平衡的情况,如果超过这个,认为此时序列趋于有序,认为树的倾斜度高,而且如果元素过多,快排递归次数过多,会把栈撑破。此时每段序列比较短,适合堆排。
当递归达到 _Ideal<=0,而且此时元素量也比较少了,序列就短了,就把快排转为堆排序,空间复杂度是O(1)。
如果用归并,占用额外的内存空间会比较多。
控制到1.5倍的log以2为底的n

(快速排序算法+插入排序算法)


