Advertisement
RiccardoMontagnin

f0 - Secondo compitino 2014

Jun 23rd, 2015
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. innesto* f0(nodo *R){
  2.    
  3.     if(!R->left && !R->right){      //Se mancano entrambi i rami sinistro e destro
  4.         return new innesto(1, 1, R, 0);     //allora questo sarà un punto di innesto con l e r true
  5.     }
  6.    
  7.    
  8.     if(!R->left || !R->right){      //Se manca solo il ramo sinistro o solo quello destro
  9.    
  10.         innesto *lista;                 //Crea una lista
  11.  
  12.         if(R->left){                            //Se manca solo il ramo destro (e quindi è presente quello sinistro)
  13.             lista=f0(R->left);                      //crea una lista cercando nel ramo sinistro
  14.             lista->next = new innesto(0, 1, R, 0);  //completa la lista inserendo le info sul nodo attuale
  15.             return lista;                           //ritorna la lista
  16.         }
  17.        
  18.         if(R->right){                           //Se manca solo il ramo sinistro (e quindi è presente quello destro)
  19.             lista=f0(R->right);                     //crea una lista cercando nel ramo destro
  20.             lista->next = new innesto(1, 0, R, 0);  //completa la lista inserendo le info sul ramo attuale
  21.             return lista;                           //ritorna la lista
  22.         }
  23.        
  24.     }
  25.    
  26.     else{                           //Se ci sono entrambi i rami sinistro e destro
  27.         innesto *listaSx = f0(R->left);     //crea la lista sinistra cercando nel ramo sinistro
  28.         innesto *listaDx = f0(R->right);    //crea la lista destra cercando nel ramo destro
  29.         listaSx->next = listaDx;            //concatena la lista sinistra con quella destra
  30.         return listaSx;                     //ritorna la lista completa
  31.     }
  32.    
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement