Advertisement
martukha

Untitled

Apr 9th, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. #pragma once#
  2. #include<iostream>
  3. #include <list>
  4. using namespace std;
  5.  
  6. struct Pair
  7. {
  8.     char value;
  9.     size_t priority;
  10.     Pair(char v, size_t p) :
  11.         value(v),
  12.         priority(p)
  13.     {}
  14. };
  15. class PriorityQueue
  16. {
  17.     list<Pair> queue;
  18. public:
  19.     void enqueue(Pair elem)
  20.     {
  21.         for (auto it = queue.begin(); it != queue.end(); ++it)
  22.         {
  23.             if (it->priority > elem.priority)
  24.             {
  25.                 queue.insert(it, elem);
  26.                 return;
  27.             }
  28.         }
  29.         queue.push_back(elem);
  30.     }
  31.     char dequeue()
  32.     {
  33.         char result = queue.front().value;
  34.         queue.erase(queue.begin());
  35.         return result;
  36.     }
  37.     size_t size()
  38.     {
  39.         return queue.size();
  40.     }
  41.     char top()
  42.     {
  43.         return queue.front().priority;
  44.     }
  45.     bool isEmpty()
  46.     {
  47.         return queue.size() == 0;
  48.     }
  49. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement