码迷,mamicode.com
首页 > 编程语言 > 详细

C++中sort的比较函数写法

时间:2020-07-15 15:07:08      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:++   this指针   return   比较   UNC   区域   begin   std   tps   

原文链接:https://blog.csdn.net/maverick1990/article/details/37738601

定义排序函数:

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

bool Less(const Student& s1, const Student& s2)
{
return s1.name < s2.name; //从小到大排序
}
std::sort(sutVector.begin(), stuVector.end(), Less);
注意:比较函数必须写在类外部(全局区域)或声明为静态函数


当comp作为类的成员函数时,默认拥有一个this指针,这样和sort函数所需要使用的排序函数类型不一样。
否则,会出现<unresolved overloaded function type>错误


方法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());


C++中sort的比较函数写法

标签:++   this指针   return   比较   UNC   区域   begin   std   tps   

原文地址:https://www.cnblogs.com/shilipojianshen/p/13304614.html

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