uoc.ei.tads
Class ArbolBinario.RecorridoHijos<E>

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

protected static class ArbolBinario.RecorridoHijos<E>
extends java.lang.Object
implements Recorrido<E>

Clase que proporciona un recorrido de las posiciones hijas. 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

Constructor Summary
ArbolBinario.RecorridoHijos(ArbolBinario<E> arbol, Posicion<E> padre)
          Constructor con un parámetro.
 
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
 

Constructor Detail

ArbolBinario.RecorridoHijos

public ArbolBinario.RecorridoHijos(ArbolBinario<E> arbol,
                                   Posicion<E> padre)
Constructor con un parámetro.

Parameters:
padre - posición no null de referencia
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 es hoja 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.