priority queue method

* create
    * create: 
* add
    * push: Adds the element at the top of the priority queue.
* change (N/A)
* query
    * empty: Returns whether the priority queue is empty.
    * size: Returns the size of the priority queue.
    * top: Returns the top most element of the priority queue.
* delete 
    * pop: Deletes the top most element of the priority queue.