C++ STL 对经常使用的代码 求详细解释

2025-03-11 09:18:31
推荐回答(1个)
回答1:

sort的前两个参数决定参与排序的元素范围,第三个参数决定判断元素大小的方式,也就是用户自己定义的f。

如果让sort自己来确定怎么比较的话,那么它得考虑到所有的内部类型和类类型,但这明显不可能。所以明智的方法是,把决定权交给用户,也就是用户自己定义个比较的函数,sort只管调用就行了。这样的话对于用户自定义的类,sort不需要知道如何去比较两个类对象的大小就能完成排序。

因为sort只要f返回true就会交换两个元素,所以对于f,如果把>改成<就能实现升序排列。