且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

部分排序数组,所以最后n个元素被排序?

更新时间:2022-04-29 09:16:29

使用反向迭代器使用 std :: partial_sort

例如:

int x[20];
std::iota(std::begin(x), std::end(x), 0);
std::random_shuffle(std::begin(x), std::end(x));

std::reverse_iterator<int*> b(std::end(x)),
                            e(std::begin(x));
std::partial_sort(b, b+10, e, std::greater<int>());
for (auto i : x)
    std::cout << i << ' ';