码迷,mamicode.com
首页 > 其他好文 > 详细

stable_sort() 和 sort() 的区别

时间:2014-04-29 13:45:20      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:algorithm   算法   stl      指针   

1.stable_sort 和 sort的区别在于 前者作排序可以使原来的"相同"的值在序列中的相对位置不变

如 1 4 6 7 4‘ (4 和 4‘值相等,加上‘ 表示是2个元素)
那么stable_sort能保证排序完 4 仍然在4‘ 前 也就是输出1 4 4‘ 6 7;但是sort 没有这个功能,算法不能保证这一点


2.在标准算法<algorithm>中的一部分算法 如果这个算法默认使用的是 < 运算符,那么这类算法通常提供一个重载版本,这个重载版本包括3个参数,而不是2个.新增的第三个参数是一个函数指针,这个函数指针指向的函数 就是用来代替默认的 < 运算符的.
也就是说如果容器中的2个元素 ,元素a和元素b,输入个这个新增的比较函数之后,函数返回true,那么a将会放在b前面,LZ给的例子里面这个比较函数能够用使长度大的排在前面.

同时,使用了stable_sort能够保证2个长度相同的元素按原顺序排列.

stable_sort() 和 sort() 的区别

标签:algorithm   算法   stl      指针   

原文地址:http://blog.csdn.net/biggbang/article/details/24665677

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!