c++ list.sort自定义比较函数怎么写

avatar
作者
筋斗云
阅读量:0

在C++中,std::listsort函数允许你传入一个自定义的比较函数。比较函数应该返回一个布尔值,表示两个元素的大小关系。以下是一个简单的例子,展示了如何为std::list编写一个自定义比较函数,用于按降序排序整数列表:

#include <iostream> #include <list> #include <functional>  // 自定义比较函数,用于降序排序 bool compareDescending(int a, int b) {     return a > b; }  int main() {     std::list<int> myList = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};      // 使用自定义比较函数对列表进行排序     myList.sort(compareDescending);      // 输出排序后的列表     for (int num : myList) {         std::cout << num << " ";     }      return 0; } 

在这个例子中,我们定义了一个名为compareDescending的比较函数,它接受两个整数参数ab,并返回一个布尔值。如果a大于b,则返回true,表示a应该排在b之前;否则返回false

然后,在main函数中,我们创建了一个包含整数的std::list,并使用sort函数对其进行排序。我们将自定义比较函数compareDescending作为参数传递给sort函数。

最后,我们遍历排序后的列表并输出每个元素。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!