C++ Priority Queues are like queues, but the elements inside the queue are ordered by some predicate.
|Constructors||construct a new priority queue|
|empty||true if the priority queue has no elements|
|pop||removes the top element of a priority queue|
|push||inserts an element into the priority queue|
|size||returns the number of items in the priority queue|
|top||returns the top element of the priority queue|