在我的程序中,它按升序对数组进行编程,但我正在尝试对其进行修改,以便按降序进行打印

时间:2019-09-02 06:29:11

标签: c++ arrays bubble-sort

在我的程序中,它按升序对数组进行编程,但我正在尝试对其进行修改,以便按降序进行打印。可以使用一些帮助。

ProductViewModel

3 个答案:

答案 0 :(得分:5)

std::sort可以采用第3个参数,即比较器,该比较器将说明如何对数组内的元素进行排序。 您可以将内部标准比较器之一传递给std::sort

std::sort(std::begin(array), std::end(array), std::greater<int>{});

答案 1 :(得分:0)

std::reverse(std::begin(array), std::end(array));

使用lambda表达式的另一种解决方案

std::sort(std::begin(arr),std::end(arr),[](int a, int b) {
    return b < a; 
});

输出:

75 67 60 35 11

答案 2 :(得分:0)

另一种替代方法是全部使用迭代器。您已经知道std::begin。现在是时候满足其镜像Universe的两倍了:std::rbegin

for(auto it = std::rbegin(array); it != std::rend(array); ++it)
{
  std::cout << *it << ' ';
}

Documentation for rbegin

Documentation for rend