我有一个由4个浮点数组成的数组,需要按降序对数组进行排序。我对c++还很陌生,想知道最好的方法是什么?
谢谢。
使用非默认比较器与std::sort
:
float data[SIZE];
data[0] = ...;
...
std::sort(data, data + size, std::greater<float>());
float my_array[4];
你可以这样排序:
#include <algorithm>
// ... in your code somewhere
float* first(&my_array[0]);
float* last(first + 4);
std::sort(first, last);
last
)指向您的4元素数组“过去一位”的末尾;这是将数组结尾传递给STL算法的正确方法。从那里,您可以调用:std::reverse(first, last);
要反转数组的内容。您还可以为sort
例程编写自定义比较器,但我认为这是高级STL的一步;这取决于您。
std::sort
函数定义在<algorithm>
头文件中。当然,如果这是一个作业练习,你应该自己实现一个sort
函数。 - johnsyweb