您的位置:首页 > 编程语言 > C语言/C++

C++<algorithm>中sort的比较函数写法

2015-08-10 10:54 465 查看
转自:http://www.wl566.com/biancheng/98907.html

C++<algorithm>中sort的比较函数写法,有需要的朋友可以参考下。

定义排序函数:

方法1:声明外部比较函数

bool Less(const Student& s1, const Student& s2)
{
return s1.name < s2.name; //从小到大排序
}
std::sort(sutVector.begin(), stuVector.end(), Less);


注意:比较函数必须写在类外部(全局区域)或声明为静态函数

当comp作为类的成员函数时,默认拥有一个this指针,这样和sort函数所需要使用的排序函数类型不一样。

否则,会出现错误

方法2:重载类的比较运算符

bool operator<(const Student& s1, const Student& s2)
{
return s1.name < s2.name; //从小到大排序
}
std::sort(sutVector.begin(), stuVector.end());


方法3:声明比较类

struct Less
{
bool operator()(const Student& s1, const Student& s2)
{
return s1.name < s2.name; //从小到大排序
}
};

std::sort(sutVector.begin(), stuVector.end(), Less());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: