aeds2/fonte/u06 Estruturas de dados bás.../java/fila/Fila.java

62 lines
1.2 KiB
Java

/**
* Fila dinamica
* @author Max do Val Machado
* @version 2 01/2015
*/
public class Fila {
private Celula primeiro;
private Celula ultimo;
/**
* Construtor da classe que cria uma fila sem elementos (somente no cabeca).
*/
public Fila() {
primeiro = new Celula();
ultimo = primeiro;
}
/**
* Insere elemento na fila (politica FIFO).
* @param x int elemento a inserir.
*/
public void inserir(int x) {
ultimo.prox = new Celula(x);
ultimo = ultimo.prox;
}
/**
* Remove elemento da fila (politica FIFO).
* @return Elemento removido.
* @trhows Exception Se a fila nao tiver elementos.
*/
public int remover() throws Exception {
if (primeiro == ultimo) {
throw new Exception("Erro ao remover!");
}
Celula tmp = primeiro;
primeiro = primeiro.prox;
int resp = primeiro.elemento;
tmp.prox = null;
tmp = null;
return resp;
}
/**
* Mostra os elementos separados por espacos.
*/
public void mostrar() {
System.out.print("[ ");
for(Celula i = primeiro.prox; i != null; i = i.prox) {
System.out.print(i.elemento + " ");
}
System.out.println("] ");
}
}