dicamarques

F2015-3C

Jun 20th, 2016
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.67 KB | None | 0 0
  1. void Deslocar(Arv_Bin *A, int ns_old, int ns_new){//3C
  2.     if(!A)
  3.         return;
  4.  
  5.     FOLHA *FAntiga = BuscarArvore(A->Raiz,ns_old);
  6.     if(!FAntiga)
  7.         return;
  8.     if(FAntiga->Info->NUtentes == 0)
  9.         return;
  10.  
  11.     FOLHA *FNova = BuscarArvore(A->Raiz,ns_new);
  12.     if(!FNova)
  13.         return;
  14.  
  15.     NO_Utente *UTAntigo = FAntiga->Info->Primeiro;
  16.     NO_Utente *UTAnterior = FNova->Info->Primeiro;//aKa a nossa "cauda"
  17.  
  18.     while(UTAnterior->Seguinte)//find the last one in hte list
  19.         UTAnterior=UTAnterior->Seguinte;
  20.    
  21.     while(UTAntigo){
  22.         UTAnterior->Seguinte = UTAntigo;
  23.         UTAntigo = UTAntigo->Seguinte;
  24.         UTAnterior = UTAnterior->Seguinte;
  25.  
  26.         FAntiga->Info->NUtentes--;
  27.         FNova->Info->NUtentes++;
  28.     }
  29. }
Add Comment
Please, Sign In to add comment