(Goodrich, 2007) Desenvolva uma classe chamada Queue
para representar o tipo abstrato de dados fila. Uma fila é uma estrutura de dados baseada no princípio FIFO, no qual o primeiro elemento inserido é o primeiro elemento retirado. A classe utiliza um arranjo circular de inteiros para o armazenamento dos elementos e possui os seguintes atributos:
capacity
- capacidade máxima de elementos armazenados na fila.data
- arranjo circular de inteiros para o armazenamento dos elementos na fila.first
- índice para o elemento armazenado no início da fila.last
- índice para o elemento armazenado no fim da fila.A classe possui dois construtores: o primeiro configura a capacidade máxima de elementos armazenados na fila com o valor padrão 100
, e o segundo recebe como parâmetro a capacidade máxima de elementos armazenados na fila. Os métodos especificados para o tipo abstrato de dados fila são:
empty
- verifica se a fila está vazia.offer
- insere um novo elemento no fim da fila, retornando true
caso o novo elemento seja inserido no início da fila, ou false
caso a fila esteja cheia.peek
- recupera o elemento do início da fila, ou retorna zero caso a fila esteja vazia.poll
- recupera e remove o elemento do início da fila, ou retorna zero caso a fila esteja vazia.size
- retorna a quantidade de elementos armazenados na fila.
Goodrich, Michael. (2007). Estrutura de Dados e Algoritmos em Java. 4ª edição. Porto Alegre: Bookman. 600 páginas.