Priority Queue

Class Kata „Priority Queue“

Schreibe eine Klasse, die eine Warteschlange implementiert, bei der die Elemente mit einer Priorität versehen sind. Elemente mit höherer Priorität stehen immer vor Elementen mit niedrigerer. Elemente gleicher Priorität stehen in der Reihenfolge ihres Eingangs in der Queue.

Das Interface der Klasse soll wie folgt aussehen:

class PriorityQueue<T> {
	void Enqueue(T element, int priority) {...}
	T Dequeue() {...}
	int Count() {...} // Anzahl der Elemente in der Queue
}

Beispiel: