Exemplo n.º 1
0
        public void Enqueue(int key, NAW naw)
        {
            if (key > highestPriorityQueue)
            {
                highestPriorityQueue = key;
            }

            NawQueueLinkedList list = priorityQueue[key];

            if (list == null)
            {
                list = new NawQueueLinkedList();
                priorityQueue.Add(key, list);
            }
            used++;
            list.Enqueue(naw);
        }
Exemplo n.º 2
0
 public NAW Dequeue()
 {
     if (used == 0)
     {
         return(null);
     }
     for (int i = highestPriorityQueue; i > 0; i++)
     {
         NawQueueLinkedList list = priorityQueue[i];
         if (list.Count() > 0)
         {
             NAW firstNaw = list.First.Naw;
             list.Dequeue();
             return(firstNaw);
         }
     }
     return(null);
 }