Desenvolva uma classe chamada Dequeue para representar o tipo abstrato de dados deque, ou seja, onde os elementos podem ser inseridos e/ou removidos em ambas as extremidades da lista. Os elementos devem ser armazenados numa lista duplamente encadeada (doubly linked list) de inteiros. A classe deve possuir um construtor que receba como parâmetro a quantidade máxima de elementos a serem armazenados na lista duplamente encadeada. Estenda a classe Dequeue para implementar as classes Stack e Queue, para representar os tipos abstratos de dados pilha e fila, respectivamente (Goodrich, 2007).
Forneça métodos public para cada um dos itens a seguir da classe Stack:
Forneça métodos public para cada um dos itens a seguir da classe Queue:
Goodrich, Michael. (2007). Estrutura de Dados e Algoritmos em Java. 4ª edição. Porto Alegre: Bookman. 600 páginas.