c++里sort函数里的比较函数怎么写
发布网友
发布时间:2022-07-14 08:09
我来回答
共1个回答
热心网友
时间:2023-09-19 19:43
sort接受的是参数是指针或迭代器,sort(a[0],a[n]);你这里只是2个元素。
可以自写比较函数,也可以用标准定义好的函数对象:
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
bool sort_desc(int a, int b)
{
return a > b;
}
bool sort_asc(int a, int b)
{
return a < b;
}
void p(int* begin, int* end)
{
while(begin < end)
cout << *begin++ << ' ';
cout << endl;
}
int main()
{
int a[] = {6,9,1,3,5,2,7,0,4,8};
sort(a, a + 10, sort_desc);
p(a, a + 10);
sort(a, a + 10, sort_asc);
p(a, a + 10);
sort(a, a + 10, greater<int>());
p(a, a + 10);
sort(a, a + 10, less<int>());
p(a, a + 10);
}