在C++中,sort函數的cmp參數用于指定比較函數,用于在排序過程中確定元素的順序。比較函數是一個可以比較兩個元素的函數,通常返回一個布爾值,表示兩個元素的順序關系。
比較函數通常具有以下形式:
bool cmp(const T& a, const T& b)
{
// 比較a和b的順序,返回true表示a在b之前,返回false表示a在b之后
}
在sort函數中,可以將比較函數作為cmp參數傳遞。例如,如果想要按照元素的大小從小到大排序,可以定義比較函數如下:
bool cmp(int a, int b)
{
return a < b;
}
int main()
{
vector<int> nums = {4, 2, 5, 1, 3};
sort(nums.begin(), nums.end(), cmp);
for (int num : nums) {
cout << num << " ";
}
return 0;
}
在上面的示例中,我們定義了一個比較函數cmp,用于比較兩個int類型的元素。然后在sort函數中將cmp函數作為cmp參數傳遞,以實現按照從小到大的順序排序。