Advertisement
Guest User

trova_nodo_tree

a guest
Nov 27th, 2015
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. //1) Costruire la struct nodo (con oppurtuno costruttore) per un albero binario singolarmente linkato
  2.  
  3. //2) Scrivere una funzione nodo* trova(nodo* x,char y) che trova e restituisce un un nodo con campo
  4. //   dati info == y nell' albero con radice x
  5.  
  6. //4)  Costruire un albero nel main e chiamare la funzione trova sull'albero
  7.  
  8. #include <iostream>
  9.  
  10. using namespace std;
  11.  
  12. struct treenode
  13. {
  14.     char info;
  15.     treenode* left;
  16.     treenode* right;
  17.    
  18.     treenode (int i, treenode* l, treenode* r)
  19.     {
  20.         info = i;
  21.         left = l;
  22.         right = r;
  23.     }
  24. };
  25.  
  26.  
  27. treenode* trova(treenode* x,char y)
  28. {
  29.         if (!x)
  30.         {
  31.             return 0;
  32.         }
  33.         if (x->info == y)
  34.         {
  35.             return x;
  36.         }
  37.         else
  38.         {
  39.             treenode* a;
  40.             a = trova (x->left, y);
  41.             if (!a)
  42.             {
  43.                 return trova (x->right, y);
  44.             }
  45.             else
  46.             {
  47.                 return a;
  48.             }
  49.            
  50.         }
  51. }
  52.  
  53.  
  54. int main()
  55. {
  56.     treenode * FO4 = new treenode (4, 0, 0);
  57.     treenode * FO3 = new treenode (3, 0, 0);
  58.     treenode * FO2 = new treenode (2, 0, 0);
  59.     treenode * FO1 = new treenode (1, 0, 0);
  60.     treenode * FI2 = new treenode (2, FO4, FO3);
  61.     treenode * FI1 = new treenode (1, FO2, FO1);
  62.     treenode * R = new treenode (0, FI2, FI1);
  63.    
  64.     treenode * i = trova (R, 4);
  65.     cout << i; 
  66.    
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement