62 lines
1.2 KiB
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("] ");
|
|
}
|
|
}
|