在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参数传递,以实现按照从小到大的顺序排序。