Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. int wstawNowy(drzewo *wsk, int w)
  2. {
  3.     wezel *korzen = wsk->root;
  4.     wezel *rodz = NULL;
  5.  
  6.     wezel *nowyWezel = (wezel *)malloc(sizeof(wezel));
  7.     nowyWezel->wartosc = w;
  8.     nowyWezel->lewy = NULL;
  9.     nowyWezel->prawy = NULL;
  10.     nowyWezel->rodzic = NULL;
  11.  
  12.     if(wsk->root == NULL)
  13.         wsk->root = nowyWezel;
  14.     else {
  15.         while(korzen) {
  16.             if(nowyWezel->wartosc == korzen->wartosc) {
  17.                 printf("%d juz znajduje sie na liscie.\n", w);
  18.                 free(nowyWezel);
  19.                 return 1;
  20.             }
  21.  
  22.             rodz = korzen;
  23.             korzen = (nowyWezel->wartosc < korzen->wartosc)? korzen->lewy : korzen->prawy;
  24.         }
  25.  
  26.         nowyWezel->rodzic = rodz;
  27.         if(nowyWezel->wartosc < rodz->wartosc)
  28.             rodz->lewy = nowyWezel;
  29.         else
  30.             rodz->prawy = nowyWezel;
  31.  
  32.     }
  33.    
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement