Está en la página 1de 1

void iterativePostOrder(NodoArbol raiz){

if(raiz!=null){
Stack <NodoArbol> pila1 = new Stack<NodoArbol>();
Stack <NodoArbol> pila2 = new Stack<NodoArbol>();
pila1.push(raiz);
while(!pila1.isEmpty()){
raiz=pila1.pop();
pila2.push(raiz);
if(raiz.hijoIzquierdo!=null){
pila1.push(raiz.hijoIzquierdo);
}
if(raiz.hijoDerecho!=null){
pila1.push(raiz.hijoDerecho);
}
}
while(!pila2.empty()){
raiz=pila2.pop();
System.out.println(raiz.getNumero());
}
}
}

sub postOrden(raiz)
p <-- raiz
tope <-- 0
HH
si (p<> null)
inpila(pila, tope, tam, p)
p <-- izq(p)
sino
si (der(p) <> null)
p <-- der(p)
inPila(pila, tope, tam, p)
sino
canPila(pila, tope, tam, p)
Escriba info(p)
fin si
fn si
fin HH (tope = 0 y p = nulo)
fn sub

También podría gustarte