Escolar Documentos
Profissional Documentos
Cultura Documentos
Bsicas
-
x
1
-
-
x
n
-
nil
6
frente
6
trs
Projeto de Algoritmos Cap.3 Estruturas de Dados Bsicas Seo 3.3.2 45
Estrutura da Fila Usando Estruturas
Auto-Referenciadas
A la implementada por meio de clulas.
Cada clula contm um item da la e uma
referncia para outra clula.
A classe Fila contm uma referncia para a
frente da la (clula cabea) e uma referncia
para a parte de trs da la.
package cap3. autoreferencia;
public class Fi l a {
private static class Celula { Object item; Celula prox; }
private Celula frente;
private Celula tras ;
/ / Operaes
public Fi l a ( ) { / / Cria uma Fila vazia
this. frente = new Celula ( ) ;
this. tras = this. frente;
this. frente. prox = null ;
}
/ / Continua na prxima transparncia
Projeto de Algoritmos Cap.3 Estruturas de Dados Bsicas Seo 3.3.2 46
Estrutura Operaes da la usando
estruturas auto-referenciadas
public void enf i l ei ra ( Object x) {
this. tras . prox = new Celula ( ) ;
this. tras = this. tras . prox;
this. tras . item = x;
this. tras . prox = null ;
}
public Object desenfileira ( ) throws Exception {
Object item = null ;
i f ( this. vazia ( ) )
throw new Exception ( "Erro: A f i l a esta vazia" ) ;
this. frente = this. frente. prox;
item = this. frente. item;
return item;
}
public boolean vazia ( ) {
return ( this. frente == this. tras ) ;
}
}