Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace PriorityQueue
- {
- class Program
- {
- static void Main(string[] args)
- {
- PriorityQueue PQ = new PriorityQueue();
- PQ.push(3, "Clear drains");
- PQ.push(4, "Feed cat");
- PQ.push(5, "Make tea");
- PQ.push(1, "Solve RC tasks");
- PQ.push(2, "Tax return");
- while (!PQ.Empty)
- {
- var Val = PQ.pop();
- Console.WriteLine(Val[0] + " : " + Val[1]);
- }
- Console.ReadKey();
- }
- }
- class PriorityQueue
- {
- private System.Collections.SortedList PseudoQueue;
- public bool Empty
- {
- get
- {
- return PseudoQueue.Count == 0;
- }
- }
- public PriorityQueue()
- {
- PseudoQueue = new System.Collections.SortedList();
- }
- public void push(object Priority, object Value)
- {
- PseudoQueue.Add(Priority, Value);
- }
- public object[] pop()
- {
- object[] ReturnValue = { null, null };
- if (PseudoQueue.Count > 0)
- {
- ReturnValue[0] = PseudoQueue.GetKey(0);
- ReturnValue[1] = PseudoQueue.GetByIndex(0);
- PseudoQueue.RemoveAt(0);
- }
- return ReturnValue;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement