Ybadoo - Soluções em Software Livre
Tutoriais
Programação Orientada a Objetos

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:

  1. inserir um elemento na pilha, retornando o sucesso ou a falha na operação;
  2. remover e retornar o elemento inserido na pilha;
  3. retornar o elemento inserido na pilha, sem removê-lo;
  4. retornar o número de elementos inseridos na pilha;
  5. retornar se há ou não elementos inseridos na pilha.

Forneça métodos public para cada um dos itens a seguir da classe Queue:

  1. inserir um elemento na fila, retornando o sucesso ou a falha na operação;
  2. remover e retornar o elemento inserido na fila;
  3. retornar o elemento inserido na fila, sem removê-lo;
  4. retornar o número de elementos inseridos na fila;
  5. retornar se há ou não elementos inseridos na fila.

Goodrich, Michael. (2007). Estrutura de Dados e Algoritmos em Java. 4ª edição. Porto Alegre: Bookman. 600 páginas.