有没有一种方法可以对数据数组执行部分排序,使最后的 n 个元素被排序?好的意思是使用标准库,而不是实现自己的排序函数(这就是我现在正在做的事情)。
示例输出(使用 less 比较器):
2 1 4 || 5 6 8 10
“||” 后面的元素都大于 “||” 前面的元素,但只有位于 “||” 右侧(靠近数组末尾的索引)的元素才能保证已排序。
这基本上是 std::partial_sort 函数的反转,它对左侧(第一个)元素进行排序。
2 1 4 || 5 6 8 10
“||” 后面的元素都大于 “||” 前面的元素,但只有位于 “||” 右侧(靠近数组末尾的索引)的元素才能保证已排序。
这基本上是 std::partial_sort 函数的反转,它对左侧(第一个)元素进行排序。
std::greater
添加到混合物中。 - Sjoerd