Advertisement
RiccardoMontagnin

Sgrana

May 25th, 2015
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.94 KB | None | 0 0
  1. /* Sgrana una lista mettendo i valori dispari in V.prima e quelli pari in V.seconda */
  2.  
  3. dueL sgrana(nodo* L){
  4.  
  5.     if(L==NULL){                //Se sono arrivato a NULL (caso liste pari)...
  6.        
  7.         return (L, L);              //...entrambe le liste dovranno puntare a NULL
  8.  
  9.     }
  10.    
  11.     if(L->next==NULL){          //Se sono all'ultima cifra e quello dopo è NULL (caso liste dispari)...
  12.  
  13.         return (L, L->next);        //la prima lista continuerà con il valore e poi NULL, e l'altra finirà con NULL
  14.        
  15.     }
  16.    
  17.     dueL V;                             //Variabile per il ritorno
  18.    
  19.     V.prima->info = L->info;            //Assegno primo valore
  20.     V.seconda->info = (L->next)->info;  //Assegno secondo valore
  21.    
  22.     V.prima -> next = sgrana(L->next->next).prima;          //Continuo la prima lista
  23.     V.seconda -> next = sgrana (L->next->next).seconda;     //Continuo la seconda lista
  24.    
  25.     return V;
  26.    
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement