예제 #1
0
파일: Program.cs 프로젝트: GarageInc/all
        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);
 }
예제 #3
0
 public UnboundedPriorityMessageQueue(int initialCapacity)
 {
     _prioQueue = new ListPriorityQueue(initialCapacity);
 }