关于类的自定义比较方法和sort函数的自定义方法

一道天梯的题目:21年的
L2-3 清点代码库 (25 分)
代码借鉴大佬的:
https://blog.csdn.net/weixin_45962741/article/details/116229100

这边想总结记录一下类的自定义比较方法和sort函数自定义比较方法

类的自定义比较方法:

struct Node
{
	vector<int>v;
	int count;
	bool operator<(const Node& vv)const {
		if (vv.count == count) return v < vv.v;
		else return count > vv.count;
	}
};

运用重载机制,改变< 或者 >,改变他的排序依据
在operator中重定义比较规则,可以运用到map,set等函数中对类进行只定义排序

sort函数的自定义比较方法

bool cmp(Node a, Node b) {
	if (a.count == b.count) return a.v < b.v;
	else return a.count > b.count;
}

创建一个bool函数,里面构造比较方法,可以运用到sort函数中对类进行自定义排序。

	sort(node.begin(), node.end(),cmp);

将cmp附在sort的最后面。

你可能感兴趣的:(STL之路,c++)