C++ 按降序排序的最佳方法

C++ 按降序排序的最佳方法,c++,sorting,int,C++,Sorting,Int,这样排序是否更省时: sort(ar,ar+n,greater<int>()); 取决于ar是什么。如果是序列容器,则反向迭代器是您的朋友: std::sort(ar.rbegin(), ar.rend()); 否则,是的,std::greater似乎适合该任务 至于您的两个示例中哪一个“更好”,那么,它们在功能上是等效的,而前者使用的是经过测试的标准库功能,可以为您完成这项工作。坦白说,我看不出有什么竞争。取决于什么是ar。如果是序列容器,则反向迭代器是您的朋友: st

这样排序是否更省时:

    sort(ar,ar+n,greater<int>());

取决于
ar
是什么。如果是序列容器,则反向迭代器是您的朋友:

std::sort(ar.rbegin(), ar.rend());
否则,是的,
std::greater
似乎适合该任务


至于您的两个示例中哪一个“更好”,那么,它们在功能上是等效的,而前者使用的是经过测试的标准库功能,可以为您完成这项工作。坦白说,我看不出有什么竞争。

取决于什么是ar。如果是序列容器,则反向迭代器是您的朋友:

std::sort(ar.rbegin(), ar.rend());
否则,是的,
std::greater
似乎适合该任务


至于您的两个示例中哪一个“更好”,那么,它们在功能上是等效的,而前者使用的是经过测试的标准库功能,可以为您完成这项工作。坦率地说,我看不出有什么竞争。

std::greater
是该函数的一个预先制作的高级版本。什么是
ar
?​​ 根据哪个指标它是“更好的”吗?当我写ar时,我指的是我的数组,更好的是根据时间来衡量两者之间的差异。是的,我可以做到这一点,谢谢你nils
std::greater
是该函数的一个预制作的高级版本。什么是
ar
?​​ 根据哪一个指标它是“更好的”吗?当我写ar时,我指的是我的数组,更好的是根据时间来衡量两者之间的差异。是的,我能做到,谢谢你