2
« en: Viernes 1 de Mayo de 2009, 12:36 »
Hola, mi nombre es Antonio, y necesito un procedimiento postorden para recorrer un árbol... por ejemplo un recorrido preorden no recursivo sería el siguiente:
void preordenNR(const ArbolBinario<int>& a)
{
ArbolBinario<int>::Nodo actual;
stack<ArbolBinario<int>::Nodo> p;
actual= ArbolBinario<int>::nodo_nulo;
p.push(actual);
actual= a.raiz();
while (actual!=ArbolBinario<int>::nodo_nulo) {
cout << a.etiqueta(actual) << ' ';
if (a.derecha(actual)!=ArbolBinario<int>::nodo_nulo)
p.push(a.derecha(actual));
if (a.izquierda(actual)!=ArbolBinario<int>::nodo_nulo)
actual= a.izquierda(actual);
else {
actual=p.top();
p.pop();
}
}
}
Y yo lo que necesito es un procedimiento igual que este pero en vez de ser en preorden, que sea en postorden... si me ayudaseis os lo agradecería muchísimo.
Un saludo.