You have been asked to create a customer service program for a new phone store that will be opening soon. Since this company anticipates being the agent for a rising new product that will be able to host the most popular video games–always released at midnight on the eve of the anticipated announcement date–they want a customer service module that will help them manage the customers as they arrive. Customers will be added to the queue as they arrive, removed once they have been served. Sometimes the queue will be search to determine who is there. As a prototype for this system, you are to use the linked list created in Assignment 3.1 to create a queue class and a test program that can handle this new system. The queue class must include a method to insert elements into the queue, remove elements from the queue, look at the first and last element of the queue without removing the elements from the queue, and search for an element in the queue. Use the following algorithm to simulate a simple version of the new system.

  1. Choose a random integer between 1 and 5 to determine the minutes at which a customer arrives.
  2. When a customer arrives, choose a random integer between 1 and 5 to determine the number of minutes that the customer must remain in the checkout line.
  3. Repeat the two steps for a 12 hour (720 minute) simulation.
  4. Run the simulation again with a random integer of 1 and 3 to compare the number of customers in the checkout line against the original 12 hour simulation.