Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/03/2012, 14:17
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Copiar Arbol binario a uno nuevo

En principio yo haria esto:

Código C++:
Ver original
  1. void copiarExpresion (Expresion exp1, Expresion &exp2){
  2.     if (exp1!= NULL){
  3.         if (exp2 == NULL){
  4.             exp2 = new nodo;
  5.             copiarElemento(exp1->info,exp2->info);
  6.             exp2->hizq =NULL;
  7.             exp2 ->hder=NULL;
  8.         }
  9.     }else return;
  10.     copiarExpresion (exp1->hizq,exp2->hizq);
  11.     copiarExpresion (exp1->hder,exp2->hder);
  12. }

Le agregue un else return; a la condicion de que exp1 sea NULL. Ya que si es null va a desreferenciarlo y eso es una violacionde segmento. Y como sabras siempres llegaras a ese caso porque el arbol se acabo.

exp2 deberia ser siempre null, o el arbol puede llegar a existir?? Estas contruyendo uno nuevo o copiandolo a otros??

Saludos