Homework Assignment 3 The next homework assignment of the semester is to implement queue's and deque's. We must view these data structures as abstract data types as well. The implementation should be transparent to the user. Functionality to be included ADT queue { instances: A queue is a linear list characterized by the fact that the oldest entry in the queue is the first to be served. operations: queue(); enqueue(); dequeue(); front(); empty(); full(); display(); }; ADT deque { instances: A deque (double ended queue) is a linear list characterized by the ability to add and remove elements from both ends. operations: deque(); push_front(); push_back(); pop_front(); pop_back(); front(); back(); empty(); full(); } The interesting thing about this exercise is that if we have a deque, the other data abstractions we have discussed so far this semester can be captured by simply calling on the functionality of the deque in the right way. Thus, to exercise our deque, we wish to make it look like a stack -- when we implemented a stack we didn't know how the underlying implementation looked. It could just as well be a deque. See class notes for details. Homework Due Date: Tuesday, 15 Feb 2000.