uoc.ei.tads
Class ArbolAbstracto.RecorridoPorNiveles<E>

java.lang.Object
  extended by uoc.ei.tads.ArbolAbstracto.RecorridoPorNiveles<E>
All Implemented Interfaces:
java.io.Serializable, Recorrido<E>
Enclosing class:
ArbolAbstracto<E>

protected static class ArbolAbstracto.RecorridoPorNiveles<E>
extends java.lang.Object
implements Recorrido<E>

Clase que proporciona un recorrido de las posiciones. Basada en el pattern Iterator, soporta múltiples recorridos simultáneos y independientes del contenedor. Es sensible a eventuales alteraciones de la estructura de posiciones.

See Also:
Recorrido.haySiguiente(), Recorrido.siguiente(), Serialized Form

Field Summary
protected  Cola<Posicion<E>> cola
          Cola auxiliar.
 
Constructor Summary
ArbolAbstracto.RecorridoPorNiveles(Arbol<E> arbol)
          Constructor.
 
Method Summary
 boolean haySiguiente()
          Comprueba si hay una primera o siguiente posición.
 Posicion<E> siguiente()
          Primero avanza, si se puede, y después retorna la posición.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cola

protected Cola<Posicion<E>> cola
Cola auxiliar.

Constructor Detail

ArbolAbstracto.RecorridoPorNiveles

public ArbolAbstracto.RecorridoPorNiveles(Arbol<E> arbol)
Constructor.

Method Detail

haySiguiente

public boolean haySiguiente()
Comprueba si hay una primera o siguiente posición. Es sensible a eventuales alteraciones de la estructura de posiciones. Retorna falso si está vacío o ya se ha visitado la última posición.

Specified by:
haySiguiente in interface Recorrido<E>
Returns:
cierto o falso, según si se puede avanzar o no se puede

siguiente

public Posicion<E> siguiente()
                      throws ExcepcionPosicionInvalida
Primero avanza, si se puede, y después retorna la posición. Si no hay siguiente posición lanza una excepción.

Specified by:
siguiente in interface Recorrido<E>
Returns:
siguiente posición
Throws:
ExcepcionPosicionInvalida - si se quiere obtener el siguiente elemento de la enumeración y no existe tal elemento.