Advertisement
barbos01

temaArboriBinari

Apr 13th, 2022 (edited)
983
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int n , stanga[101], dreapta[101]; // initializari
  6.  
  7. struct Nod {
  8.     int info;
  9.     Nod *stanga, *dreapta;
  10. };
  11.  
  12. void Creare(Nod *&r, int x) // functie pentru creare nod
  13. {
  14.     if(x != 0) // cat timp informatia din nod este diferita de 0
  15.     {
  16.         r = new Nod; // alocam spatiu pentru un nod
  17.         r->info = x; // introducem informatia
  18.         r->stanga = r->dreapta = NULL; // initializam nodul din stanga si cel din dreapta
  19.         int y; // informatia noua
  20.         cout << "stanga[" << x << "]="; cin >> y;// citim  informatia pentru nodul stanga
  21.         Creare(r -> stanga , y); // daca este diferita de 0 o sa o adaugam, si o sa facem acelasi lucru si pentru ea
  22.         cout << "dreapta[" << x << "]="; cin >> y;/// citim  informatia pentru nodul drept
  23.         Creare(r -> dreapta , y);// daca este diferita de 0 o sa o adaugam, si o sa facem acelasi lucru si pentru ea
  24.     }
  25. }
  26.  
  27. /*afisam informatia de la radacina, in stanga cat timp exista trecand apoi si in dreapta, iar mai apoi trecem in dreapta radacinii,
  28. afisand prima data informatia din stanga nodurilor cat timp exista apoi trecand in dreapta lor*/
  29. void Preordine(Nod * r)
  30. {
  31.     if(r != NULL)
  32.     {
  33.         cout << r->info << " ";
  34.         Preordine(r->stanga);
  35.         Preordine(r->dreapta);
  36.     }
  37. }
  38.  
  39. int main()
  40. {
  41.     Nod * R = NULL; // initializam radacina
  42.     int radacina_info; // informatia din radacina
  43.     cout << "Eticheta radacinii: "; cin >> radacina_info;// citim informatia
  44.     Creare(R , radacina_info);//incepem sa realizam arborele binar
  45.     Preordine(R); cout << endl; // afisam in preordine arborele
  46.     return 0;
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement