二元谓词

2021-03-02 15:12:36 浏览数 (1)

二元谓词— 谓词–>bool 二元----仿函数里面的参数个数

代码语言:javascript复制
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//二元谓词---  谓词-->bool    二元----仿函数里面的参数个数
class   compare {
public:
	bool operator()(int v1,int v2)
	{
		return v1 > v2;
	}
};
void test()
{
	//vector的排序也时sort排序算法
	vector<int> v = { 2,1,5,3,8,7 };
    sort(v.begin(), v.end());
	for (int i = 0; i < v.size(); i  )
	{
		cout << v[i] << " ";
	}
	cout << "n自定义排序--------------------" << endl;
	//自定义排序
	//匿名函数对象
	sort(v.begin(), v.end(), compare());
	for (int i = 0; i < v.size(); i  )
	{
		cout << v[i] << " ";
	}
}
int main()
{
	test();
	system("pause");
	return 0;
}

注意:

代码语言:javascript复制
map<int, person,compare> m;
sort(v.begin(), v.end(), compare());

map是函数模板,传入的是类型,而在这里是函数,参数必须是对象

0 人点赞