C ++-按降序排序数组不起作用

时间:2018-11-24 19:52:15

标签: c++ sorting

int array[6] = {5, 10, 2, 5, 4, 4}
std::sort(array, array + (sizeof array / sizeof array[0]), std::greater<int>());

我试图按降序对上面的数组进行排序,但是当我对它运行sort函数时,我得到以下信息:

{10, 5, 2, 5, 4, 4}

有什么想法吗?

编辑:问题出在我周围的代码上。此处发布的代码实际上是正确的。.抱歉。

1 个答案:

答案 0 :(得分:2)

根据reference的示例,您应该执行的操作:

#include <iostream>     // std::cout
#include <algorithm>    // std::sort
#include <vector>       // std::vector

int main (void) {
  int array[6] = {5, 10, 2, 5, 4, 4};
  std::sort(array, array + (sizeof array / sizeof array[0]), std::greater<int>());

  for (int i = 0; i < 6; ++i)
    std::cout << array[i] << " ";
  std::cout << '\n';

  return 0;
}

输出:

  

10 5 5 4 4 2

如您所见,这与您的代码相同。在 Live Demo 中自己查看。