/** * Programa que recorre un arbol por niveles. Usa una cola para almacenar * los elementos visitados * @author Amparo López Gaona * @version 1a. ed. */ class OrdenPorNivel implements java.util.Iterator { private Cola c = new Cola(); public OrdenPorNivel (NodoArbol raiz) { c.agregar(raiz); } public boolean hasNext() { return ! c.estaVacia(); } public Object next() { NodoArbol actual = (NodoArbol) c.tomar(); c.eliminar(); if (actual.izquierda != null) c.agregar(actual.izquierda); if (actual.derecha != null) c.agregar(actual.derecha); return actual.valor; } public void remove () { throw new IllegalStateException(); } }