如何自定义C++中的sort比较函数

avatar
作者
猴君
阅读量:0

在C++中,可以使用函数指针或者Lambda表达式来自定义sort函数的比较函数。

使用函数指针:

bool customCompare(int a, int b) {     // 自定义比较函数     return a < b; }  int main() {     vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};     sort(nums.begin(), nums.end(), customCompare);     // 输出排序后的数组     for (int num : nums) {         cout << num << " ";     }     return 0; } 

使用Lambda表达式:

int main() {     vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};     sort(nums.begin(), nums.end(), [](int a, int b) {         // 自定义比较函数         return a < b;     });     // 输出排序后的数组     for (int num : nums) {         cout << num << " ";     }     return 0; } 

以上代码分别使用了函数指针和Lambda表达式来自定义比较函数,并将数组按照指定的比较函数进行排序。通过修改比较函数的实现,可以实现不同的排序方式。

广告一刻

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