Ejemplo n.º 1
0
 /// <summary>
 /// Construct a help desk object.
 /// </summary>
 public Helpdesk()
 {
     int numPriorities = Enum.GetValues(typeof(Priority)).Length;
     lists = new ListOfTickets[numPriorities];
     for (int idx = 0; idx < lists.Length; idx++)
     {
         lists[idx] = new ListOfTickets();
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Construct a help desk object.
        /// This is O(N), for-loop n = list.length.
        /// </summary>
        public Helpdesk()
        {
            int numPriorities = Enum.GetValues(typeof(Priority)).Length;

            lists = new ListOfTickets[numPriorities];

            for (int idx = 0; idx < lists.Length; idx++)
            {
                lists[idx] = new ListOfTickets();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Remove the highest priority ticket from the queue.
        ///  O(1) for deletion
        /// </summary>
        /// <returns>Ticket</returns>
        public Ticket RemoveNextTicket()
        {
            Ticket ticket = null;

            for (int idx = lists.Length - 1; idx >= 0; idx--)
            {
                ListOfTickets list = lists[idx];
                if (!list.isEmpty())
                {
                    ticket = list.RemoveNextTicket();
                    break;
                }
            }
            //if (ticket == null) // the lists were all empty
            //    throw new Exception("No tickets to work!");
            return(ticket);
        }