C++ 类STL函数排序

C++ 类STL函数排序,c++,stl,C++,Stl,是否有类似于std::sort的函数,它不按递增顺序排序,而是按递减顺序排序?是。它叫 sort有一个重载,该重载接受一个将排序顺序定义为第三个参数的函子。如果你想按降序排序,那么就把它传递给你,其中T是你的类型。@Nicolas是对的,但也值得注意的是,在许多情况下,正常排序更容易,只需反向迭代结果(从rbegin到rend而不是begin到end)。@JerryCoffin,是的,我不是在迭代它,就是在使用std::reverse,真的吗?这有什么好处?@viniyoshota使用std::

是否有类似于
std::sort
的函数,它不按递增顺序排序,而是按递减顺序排序?

是。它叫


sort
有一个重载,该重载接受一个将排序顺序定义为第三个参数的函子。如果你想按降序排序,那么就把它传递给你,其中
T
是你的类型。

@Nicolas是对的,但也值得注意的是,在许多情况下,正常排序更容易,只需反向迭代结果(从
rbegin
rend
而不是
begin
end
)。@JerryCoffin,是的,我不是在迭代它,就是在使用std::reverse,真的吗?这有什么好处?@viniyoshota使用
std::reverse
将意味着额外的O(N)操作。@ChristianRau:也许我是唯一一个发现它更简单的人,但当我看到第三个参数
排序时,我通常会期待主键/辅键比较,因此,我至少需要一点额外的时间来处理降序的问题。
std::sort(vec.begin()、vec.end()、std::greater())是的!谢谢,不再编写
std::reverse