排序算法总结

STL中的sort函数:

  sort是一种快速排序,最好、正常和平均时间复杂度都为O(nlogn),最差的时间复杂度将达到O(n^2)。由于是一种快排,所以sort不是一种稳定的排序算法。

  常见的sort的两4种形式:

1.sort(array+1,array+n+1):即默认的从小到大排序,这是sort形式中最快的一种
2.sort(array+1,array+n+1,cmp):用自定义的bool型比较函数会导致排序速度下降很多
3.sort(struct+1,struct+n+1):比第2中快比第1中慢
4.sort(struct+1,struct+n+1,cmp()):定义functor的排序,和第一种较为接近
struct cmp{bool operator()(struct a,struct b){return a.s<<b.s;}}

 

   

STL中的stable_sort

posted @ 2020-04-16 14:02  neverstopcoding  阅读(104)  评论(0编辑  收藏  举报