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}
有什么想法吗?
编辑:问题出在我周围的代码上。此处发布的代码实际上是正确的。.抱歉。
答案 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 中自己查看。