A priority queue is a data structure for maintaining a set S of elements, each with an associated key value.
Operations: