在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表達式來自定義比較函數,并將數組按照指定的比較函數進行排序。通過修改比較函數的實現,可以實現不同的排序方式。