Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once#
- #include<iostream>
- #include <list>
- using namespace std;
- struct Pair
- {
- char value;
- size_t priority;
- Pair(char v, size_t p) :
- value(v),
- priority(p)
- {}
- };
- class PriorityQueue
- {
- list<Pair> queue;
- public:
- void enqueue(Pair elem)
- {
- for (auto it = queue.begin(); it != queue.end(); ++it)
- {
- if (it->priority > elem.priority)
- {
- queue.insert(it, elem);
- return;
- }
- }
- queue.push_back(elem);
- }
- char dequeue()
- {
- char result = queue.front().value;
- queue.erase(queue.begin());
- return result;
- }
- size_t size()
- {
- return queue.size();
- }
- char top()
- {
- return queue.front().priority;
- }
- bool isEmpty()
- {
- return queue.size() == 0;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement