priority_queue_emplace
priority_queue_emplace (std::priority_queue::emplace — 제자리 삽입)
std::priority_queue에 새 원소를 제자리(in-place) 구성해 push하는 멤버 함수예요.
출처: cppreference
본문
시그니처는 다음과 같아요.
template< class... Args >
void emplace( Args&&... args ); // (since C++11)
새 원소를 우선순위 큐에 push해요. 원소는 제자리에서 구성돼요. c.emplace_back(std::forward<Args>(args)...) 후 std::push_heap(c.begin(), c.end(), comp)를 수행하는 것과 동등해요.
매개변수
args: 원소의 생성자에 전달할 인자들.
복잡도
로그(logarithmic)예요.
예제
#include <iostream>
#include <queue>
int main()
{
std::priority_queue<int> pq;
pq.emplace(3);
pq.emplace(1);
pq.emplace(2);
std::cout << pq.top() << '\n'; // 3
}