阅读量: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表达式来自定义比较函数,并将数组按照指定的比较函数进行排序。通过修改比较函数的实现,可以实现不同的排序方式。