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