Fila FIFO
De Aulas
Voltar para Estrutura de Dados
Classe Nó
1public class No {
2 public String conteudo;
3 public No proximo;
4 public No anterior;
5
6 public No(String c) {
7 conteudo = c;
8 proximo = null;
9 anterior = null;
10 }
11}
Classe Fifo
1public class Fifo {
2 public No inicio = null;
3 public No fim = null;
4 public int tamanho = 0;
5
6 public void inserir(String c) {
7 No aux = new No(c);
8 if (tamanho == 0) {
9 fim = aux;
10 inicio = aux;
11 } else {
12 aux.proximo = fim;
13 fim.anterior = aux;
14 fim = aux;
15 }
16 tamanho++;
17 }
18
19 public String retirar() {
20 if (tamanho == 0) {
21 return null;
22 }
23 No aux = inicio;
24 if (inicio != fim) {
25 inicio = inicio.anterior;
26 inicio.proximo = null;
27 } else {
28 inicio = null;
29 fim = null;
30 }
31 tamanho--;
32 return aux.conteudo;
33 }
34}
Programa Principal
1public class Programa {
2 public static void main(String[] argumentos) {
3 Fifo f = new Fifo();
4
5 for (int i = 0; i < 10; i++) {
6 f.inserir("" + i);
7 }
8
9 String saida = "";
10 while (saida != null) {
11 saida = f.retirar();
12 if (saida != null) {
13 System.out.println(saida);
14 }
15 }
16 }
17}