温馨提示×

C++ List Sort 怎样对自定义对象排序

c++
小樊
109
2024-07-21 02:10:56
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要对自定义对象进行排序,首先需要定义一个比较函数或者函数对象来指定如何对对象进行排序。这个比较函数或者函数对象需要返回一个 bool 值,表示两个对象的比较结果。

假设我们有一个自定义对象 Person,包含姓名和年龄两个属性,我们想要按照年龄来对 Person 对象进行排序,可以定义如下比较函数:

bool comparePersonByAge(const Person& p1, const Person& p2) {
    return p1.age < p2.age;
}

然后在对 Person 对象的列表进行排序时,可以使用 std::sort 函数,并将上面定义的比较函数作为参数传入:

std::vector<Person> persons = {{"Alice", 25}, {"Bob", 30}, {"Cathy", 20}};
std::sort(persons.begin(), persons.end(), comparePersonByAge);

另外,也可以使用 Lambda 表达式来定义比较函数,将上面的比较函数改写为 Lambda 表达式:

std::sort(persons.begin(), persons.end(), [](const Person& p1, const Person& p2) {
    return p1.age < p2.age;
});

通过以上方法,就可以对自定义对象进行排序。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c++ list.sort有哪些常见应用场景

0