74. 최소힙

강지훈·2021년 12월 13일
0

최소힙은 최대힙이랑 비슷한데

최대힙은 stl에서 지원해주지만 최소힙은 그렇지 않다

그래서 최대힙을 이용해서 최소힙을 얻어야하는데

#include
#include
using namespace std;

int main() {
int a;
priority_queuepQ;
while(1){
cin>>a;
if(a==-1) break;
if(a==0) {
if(pQ.empty()) cout<<"-1"<<endl;
else {
cout<<-pQ.top()<<endl; // 제일 root 노드 출력
pQ.pop();
}
}
else pQ.push(-a);
}
return 0;
}

// pQ.top() 이부분을 -pQ.top()
// pQ.push(a) 이부분을 pQ.push(-a) 으로 바꾸어주면 최소힙을 구할수있다.

profile
never stop

0개의 댓글