Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2009, 09:18
jesus_blood
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
ayuda con recorrido no recursivo postorden en c++

Hola, mi nombre es Jesús, 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.