본문 바로가기
프로그래밍/C, C++

C++ 구조체 Priority Queue

by JR2 2021. 7. 20.

 

#include <iostream>
#include <queue>

using namespace std;

struct MSG
{
	int score;
	int name;
};

struct compare
{
	bool operator()(const MSG& s1, const MSG& s2)
	{
		return s1.score < s2.score;
	}
};

int main(void)
{
	priority_queue<MSG, vector<MSG>, compare> q;
	MSG a;
	a.name = 1;
	a.score = 100;
	q.push(a);

	a.name = 2;
	a.score = 50;
	q.push(a);

	a.name = 3;
	a.score = 60;
	q.push(a);

	a.name = 4;
	a.score = 80;
	q.push(a);

	a.name = 5;
	a.score = 30;
	q.push(a);

	while (!q.empty())
	{
		cout << "name : " << q.top().name << " score : " << q.top().score << endl;
		q.pop();
	}
	return 0;
}

댓글