要實現自定義排序,可以使用sort()函數的第三個參數,即自定義的比較函數。比較函數需要接受兩個參數,表示兩個元素,然后返回一個bool值,表示這兩個元素的比較結果。
以下是一個示例,演示如何使用sort()函數實現自定義排序:
#include <iostream>
#include <algorithm>
#include <vector>
// 自定義比較函數,按照元素的絕對值大小進行排序
bool compare(int a, int b) {
return abs(a) < abs(b);
}
int main() {
std::vector<int> vec = {3, -1, 4, -5, 2};
// 使用自定義的比較函數進行排序
std::sort(vec.begin(), vec.end(), compare);
// 輸出排序后的結果
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
在上面的示例中,我們定義了一個compare函數,按照元素的絕對值大小進行排序。然后在sort()函數中傳入這個自定義的比較函數,實現自定義排序。最后輸出排序后的結果。