A parking garage consists of a SINGLE LANE which can hold upto 7 cars. Cars arrive at the south end of the garage, and leave from the north end. If an owner arrives to pick up the car that is not the northernmost, then all cars to its north are moved out, owner's car is driven out, and the other cars are restored in the same order that they were in originally. Whenever a car moves out of the garage, all cars to its south are moved forward so that at all times, the empty spaces are in the south part of the garage. If there is no room for an arriving car in the garage, then it waits in a Waiting Line. A car waits in the waiting line until there is room in the garage or the car departs from the waiting line itself. Cars move from the waiting line into the garage on a first-come-first-served basis.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased. Besides: You are required to SIMULATE the operation of such a parking garage. Simulation means that YOUR PROGRAM SHOULD GO THROUGH ALL STEPS THAT WILL BE CARRIED OUT IN THE ACTUAL GARAGE, WITHOUT OMISSION. In particular, when a car in the middle of the garage leaves, your program must physically move the front end cars to allow it to leave and then put them back in the original order. Write a Java program THAT READS A SEQUENCE OF INPUT LINES from an input file, each input line containing an "A" for arrival and a "D" for departure, along with the license plate number of the car. Cars are assumed to arrive and depart in the order specified by the input. For each car, you must keep a count of how many times it was moved OUT OF THE GARAGE. So, when a car A moves out of the garage to allow another car B behind it to move out, that counts as a move OUT OF THE GARAGE for that car A, also. You must use a linked implementation of the LIST for the waiting list, a DOUBLE-ENDED-QUEUE for the garage, and a linked implementation of STACK (I know you will need this). You are perfectly free to pick up codes for these data structures from the text but no where else. Even if you use the code from the book, make sure that you understand its implementation perfectly well. Spending time in designing a good solution will help you tremendously. For every operation, arrival or departure, you must output the operation performed on the garage, which car was involved, and the state of the garage and the waiting line (if not empty) after that arrival or departure. For departing cars, in addition to the above information, output the number of times that car was moved out of the garage. A CAR008 A CAR009 A CAR010 A CAR011 A CAR012 D CAR008