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


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

我试图按降序对上面的数组进行排序,但当我在上面运行排序函数时,我会得到以下结果:

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

有什么想法吗?

编辑:问题出在我周围的代码上。这里张贴的代码实际上是正确的。。很抱歉

根据引用的示例,您所拥有的应该是:

#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 2

正如您所看到的,这与您的代码相同。请在Live Demo中亲自查看。

最新更新