static void Main(string[] args) { AbstractPriorityQueue<string> priority = new ArrayPriorityQueue<string>(); for (int i = 0; i < 5; i++) { priority.EnQueue(new Node<string>(Console.ReadLine(), i)); } for (int i = 0; i < 5; i++) { Console.WriteLine(priority.DeQueue().Value); } priority = new ListPriorityQueue<string>(); for (int i = 0; i < 5; i++) { priority.EnQueue(new Node<string>(Console.ReadLine(), i)); } for (int i = 0; i < 5; i++) { Console.WriteLine(priority.DeQueue().Value); } Console.ReadKey(); }
/// <summary> /// Creates a new unbounded priority message queue. /// </summary> /// <param name="priorityGenerator">The calculator function for determining the priority of inbound messages.</param> /// <param name="initialCapacity">The initial capacity of the queue.</param> public UnboundedPriorityMessageQueue(Func <object, int> priorityGenerator, int initialCapacity) { _prioQueue = new ListPriorityQueue(initialCapacity, priorityGenerator); }
public UnboundedPriorityMessageQueue(int initialCapacity) { _prioQueue = new ListPriorityQueue(initialCapacity); }