最終更新日時(UTC):
が更新

履歴 編集

function template
<queue>

std::priority_queue::push_range(C++23)

template <container-compatible-range<value_type> R>
void push_range(R&& rg); // C++23

概要

Rangerg の各要素を priority_queue に追加し、優先順に並べ替えを行う。

効果

まず crg の要素を追加する。c.append_range(forward<R>(rg)) が有効であれば、これで要素を追加する。そうでなければ、ranges::copy(rg, back_inserter(c)) で要素を追加する。

次に、make_heap(c.begin(), c.end(), comp) で優先順に並べ替えを行う。

戻り値

なし

#include <iostream>
#include <queue>
#include <vector>

int main()
{
    std::priority_queue<int> que;
    std::vector<int> vec = {2, 1, 3};

    que.push_range(vec);

    while (!que.empty()) {
        std::cout << que.top() << std::endl;
        que.pop();
    }
}

出力

3
2
1

関連項目

名前 説明
push 要素を追加する