std::make_heap

김대익·2022년 3월 17일

배열로 원소들이 있을 때 이를 heap structure로 바꿔주는 STL이다.

위와 같은 벡터를 생성했을 때

힙으로 변경시키면

출력이 나온다
우선순위 큐의 동작원리로 순서가 정해지게된다



pop_heap을 사용하게 되면 맨 위 부모노드가 맨 오른쪽 아래 자식 노드의 위치를 변경한 뒤
맨 위 부모노드와 자식노드를 비교한 뒤 자식노드가 더 크면 위치를 바꾼다.


pop_back은 맨 오른쪽 아래 자식노드를 제거하고
emplace는 맨 오른쪽 아래 자식노드를 추가한다


push_heap은 맨 오른쪽 아래 자식노드를 추가하고 그 부모노드와 비교하여 더 크면 자리를 바꾸는 동작을 실시한다.


0개의 댓글