Implement the event-driven simulation of a bank that this chapter described. A queue of arrival events will represent the line of customers in the bank. Maintain the arrival events and departure events in a priority queue, sorted by the time of the event. Use a link-based implementation for the event list. The input is a text fi le of arrival and transaction times. Each line of the fi le contains the arrival time and required transaction time for a customer. The arrival times are ordered by increasing time. Your
program must count customers and keep track of their cumulative waiting time. These statistics are
sufficient to compute the average waiting time after the last event has been processed. Display a trace of the events executed and a summary of the computed statistics (the total number of arrivals and average time spent waiting in line). For example, the input fi le shown in the left columns of the following table should produce the output shown in the right column.