All pastes #591543 Raw Edit

inOrder sin recursion

public python v1 · immutable
#591543 ·published 2007-06-27 08:18 UTC
rendered paste body
def inOrderNoRecursivo(a):    s = []    pi = [a]    pr = []    pd = []    while not (pi == [] and pr == [] and pd == []):        seApilo = pi != [] and not tope(pi).esNil() and not tope(pi).esHoja()        if pi != []:            arbol = pi.pop()            if arbol.esNil():                pass            elif arbol.esHoja():                s.append(arbol.valor)            else:                pi.append(arbol.izq)                pr.append(arbol.valor)                pd.append(arbol.der)        if pr != [] and not seApilo:            s.append(pr.pop())        if pd != [] and not seApilo: # pd != []            arbol = pd.pop()            if arbol.esNil():                pass            elif arbol.esHoja():                s.append(arbol.valor)            else:                pi.append(arbol.izq)                pr.append(arbol.valor)                pd.append(arbol.der)    return s