Advertisement
Guest User

Nodo inserisci

a guest
Jan 17th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. nodoF* inserisci(nodoF*W, nodo*a) //W=lista finale che viene di volta in volta aggiornata
  2. {
  3. //caso base -> creazione nodoF alla fine
  4. if(W==0)
  5. {
  6.  
  7. FIFO nuovaListaFine(a);
  8. nodoF* nuovoFine=new nodoF(nuovaListaFine,0);
  9. return nuovoFine;
  10. }
  11. //controllo se il nodo da inserire è già sulla lista W interessata => aggiungo in fondo
  12. if (a->info==W->fi.ultimo->info)
  13. {
  14.  
  15. FIFO inserimentoFine=push_end(W->fi,a);
  16. W->fi=inserimentoFine;
  17. return W;
  18. }
  19.  
  20. //ricorsione -> 1 parte controllo se esiste lista con campo maggiore di quella da inserire
  21. if(a->info>W->fi.ultimo->info)
  22. {
  23. nodoF* restoLista=inserisci(W->next,a); //!
  24. W->next=restoLista;
  25. return W;
  26. }
  27. //2 parte -> controllo se il nodo da inserire è minore di quelle già presenti
  28. else if(a->info<((W->fi).ultimo)->info)
  29. {
  30.  
  31. FIFO nuovaLista(a);
  32. nodoF* collegaAllaLista=new nodoF(nuovaLista,0);
  33. collegaAllaLista->next=W;
  34. return collegaAllaLista;
  35. }
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement