uoc.ei.tads
Class ArbreAbstracte.RecorregutPostordre<E>

java.lang.Object
  extended by uoc.ei.tads.ArbreAbstracte.RecorregutOrdreBasic<E>
      extended by uoc.ei.tads.ArbreAbstracte.RecorregutPostordre<E>
All Implemented Interfaces:
java.io.Serializable, Recorregut<E>
Enclosing class:
ArbreAbstracte<E>

protected static class ArbreAbstracte.RecorregutPostordre<E>
extends ArbreAbstracte.RecorregutOrdreBasic<E>

Classe que proporciona un recorregut de les posicions. Basada en el pattern Iterator, soporta múltiples recorreguts simultanis i independents del contenidor. És sensible a eventuals alteracions de l'estructura de posicions.

See Also:
Recorregut.hiHaSeguent(), Recorregut.seguent(), Serialized Form

Field Summary
 
Fields inherited from class uoc.ei.tads.ArbreAbstracte.RecorregutOrdreBasic
arbre, pila
 
Constructor Summary
ArbreAbstracte.RecorregutPostordre(Arbre<E> arbre)
          Constructor.
 
Method Summary
protected  void empilaDescendentsAmbMenysPrioritat(Posicio<E> pare)
          En el cas del recorregut postordre un node no té descendents amb menys prioritat.
protected  void empilaDescendentsAmbMesPrioritat(Posicio<E> pare)
          En el cas del recorregut postordre, donat un node, aquest sempre apareixerà després que els els seus descendents en el recorregut, per tant, tots els fills d'un node tenen més prioritat que ell.
protected  void empilaFills(Posicio<E> pare)
          Aquest mètode empila els fills d'un node en l'ordre en el que estan definits.
protected  boolean jaDesplegatTotalment(Posicio<E> node)
           
 Posicio<E> seguent()
          Primer avança, si es pot, i després retorna la posició.
 
Methods inherited from class uoc.ei.tads.ArbreAbstracte.RecorregutOrdreBasic
hiHaSeguent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArbreAbstracte.RecorregutPostordre

public ArbreAbstracte.RecorregutPostordre(Arbre<E> arbre)
Constructor.

Parameters:
arbre - L'arbre a recórrer.
Method Detail

empilaDescendentsAmbMesPrioritat

protected void empilaDescendentsAmbMesPrioritat(Posicio<E> pare)
En el cas del recorregut postordre, donat un node, aquest sempre apareixerà després que els els seus descendents en el recorregut, per tant, tots els fills d'un node tenen més prioritat que ell.

Specified by:
empilaDescendentsAmbMesPrioritat in class ArbreAbstracte.RecorregutOrdreBasic<E>

empilaDescendentsAmbMenysPrioritat

protected void empilaDescendentsAmbMenysPrioritat(Posicio<E> pare)
En el cas del recorregut postordre un node no té descendents amb menys prioritat.

Specified by:
empilaDescendentsAmbMenysPrioritat in class ArbreAbstracte.RecorregutOrdreBasic<E>

empilaFills

protected void empilaFills(Posicio<E> pare)
Description copied from class: ArbreAbstracte.RecorregutOrdreBasic
Aquest mètode empila els fills d'un node en l'ordre en el que estan definits.

Overrides:
empilaFills in class ArbreAbstracte.RecorregutOrdreBasic<E>

seguent

public Posicio<E> seguent()
Description copied from class: ArbreAbstracte.RecorregutOrdreBasic
Primer avança, si es pot, i després retorna la posició. Si no hi ha següent posició llança una excepció.

Specified by:
seguent in interface Recorregut<E>
Overrides:
seguent in class ArbreAbstracte.RecorregutOrdreBasic<E>
Returns:
següent posició

jaDesplegatTotalment

protected boolean jaDesplegatTotalment(Posicio<E> node)