A deque (pronounced "deck") is an abstract data type that combines what a stack can do and what a queue can do. Thus, users are allowed to add items to either end of a deque and inspect/remove them from either end. Thus, a deque can act as stack or queue. Given the following ADT specification, implement the behavior of deque based on a circular array as the one discussed for an array-based implementation of the queue. Template Class Deque { Public: int size(); Boolean isEmpty(); // similar to push Void insertFirst(T e); // similar to enqueue Void insertLast(T e); // similar to dequeue T removeFirst(); // similar to pop T removeLast(); // returns the first element of deque without removing it T first(); // returns the last of deque without removing it T last(); }
A deque (pronounced "deck") is an abstract data type that combines what a stack can do and what a queue can do. Thus, users are allowed to add items to either end of a deque and inspect/remove them from either end. Thus, a deque can act as stack or queue.
Given the following ADT specification, implement the behavior of deque based on a circular array as the one discussed for an array-based implementation of the queue.
Template<class T>
Class Deque
{
Public:
int size();
Boolean isEmpty();
// similar to push
Void insertFirst(T e);
// similar to enqueue
Void insertLast(T e);
// similar to dequeue
T removeFirst();
// similar to pop
T removeLast();
// returns the first element of deque without removing it
T first();
// returns the last of deque without removing it
T last();
}
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 4 steps with 3 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)