C/C++教程

【C++STL】set自定义排序,仿函数

本文主要是介绍【C++STL】set自定义排序,仿函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
struct nnum{
    //重载()
    bool operator () (int v1,int v2){
        return v1>v2;
    }
};

set<int,nnum> num;//仿函数对set自定义排序,默认递增排序

 

template<class T,class T2>
void printSet(set<T,T2> &a)
{
	for (auto it = a.begin(); it != a.end(); ++it)
	{
		cout << (*it) << endl;
	}
}
//仿函数
class myComper
{
public:
	//重载()
	bool operator()(int v1, int v2)
	{
		return v1 > v2;
	}
};
void test04()
{
	//从大到小的排序
	//set<int,数据类型> iset = { 1,2,3,5,6,9,4,7,8 };所以这块需要仿函数
	set<int, myComper> iset;
	iset = { 1,2,3,5,6,9,4,7,8 };
	printSet(iset);
}

这篇关于【C++STL】set自定义排序,仿函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!