This is a C# implementation of a priority Queue. It supports sorting by lowest priority (lower value takes priority) or highest priority (higher value takes priority).
The algorithm is heap sorted and uses generics to support any data type you wish. The objects to be queued must implment the IComparable interface. A heap sorted priority queue is a very fast implementation having linearithmic time complexity of n log(n).
Helpful sources to learn the algorithm:
