Advertisement
Guest User

Usuwanie

a guest
May 5th, 2015
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.83 KB | None | 0 0
  1. bool UsunPenDrive(PenDrive *Drzewo, PenDrive *Prev, unsigned int GB)
  2. {
  3.         if(Drzewo != NULL)
  4.         {
  5.                 if(Drzewo->pojemnoscGB == GB)
  6.                 {
  7.                         if(Drzewo->l != NULL)
  8.                         {
  9.                                 //ZASTEPUJE ELEMENTEM Z LEWEJ
  10.                                 if(Prev->r == Drzewo) Prev->r = Drzewo->l;
  11.                                 if(Prev->l == Drzewo) Prev->l = Drzewo->l;
  12.  
  13.                                 Drzewo->l->top = Drzewo->top; //JEZELI JEST DO GORY
  14.                         }
  15.                         else
  16.                         {
  17.                                 if(Drzewo->r != NULL)
  18.                                 {
  19.                                         //ZASTEPUJE ELEMENTEM Z PRAWEJ BO LEWY PUSTY
  20.                                         if(Prev->r == Drzewo) Prev->r = Drzewo->r;
  21.                                         if(Prev->l == Drzewo) Prev->l = Drzewo->r;
  22.  
  23.                                         Drzewo->r->top = Drzewo->top; //JEZELI JEST DO GORY
  24.                                 }
  25.                                 else
  26.                                 {
  27.                                         // PO PROSTU USUWAM ELEMENT BO NIE MA DZIECI
  28.                                         if(Prev->r == Drzewo) Prev->r = NULL;
  29.                                         if(Prev->l == Drzewo) Prev->l = NULL;
  30.                                 }
  31.                         }
  32.                         return true;
  33.                 }
  34.                 else if(Drzewo->pojemnoscGB < GB)
  35.                 {
  36.                         return UsunPenDrive(Drzewo->r, Drzewo, GB);
  37.                 }
  38.                 else
  39.                 {
  40.                         return UsunPenDrive(Drzewo->l, Drzewo, GB);
  41.                 }
  42.         }
  43.         return false;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement