Priority Queue ADTPriority Queueis an ADT for maintaining a set S of elements, each with a keyvalue and supports the following operations:INSERT(S, x) inserts element x into S(also write as S←S∪{x}MINIMUM(S)returns element in Swith minkeyEXTRACT-MIN(S) removes and returns elementin S with minkeyDECREASE-KEY(S, x, k) decreasesthe value ofelement x’s key to a new (smaller) value k.