Posted By

nmajcen on 01/06/14


Tagged

4 Strukture podataka zadatak stabla ophodenje


Versions (?)

SP Z4 Ophodenje stabla


 / Published in: C++
 

Programski kod za ophodenje stabla u C++

  1. using namespace std;
  2.  
  3. void Preorder(stablo *T){
  4. int k = T->glavniKorijen;
  5. char element = T->element[k].labela;
  6. cout << element << " ";
  7. if(T->element[k].prvoDijete != -1){
  8. T->glavniKorijen = T->element[k].prvoDijete;
  9. Preorder(T);
  10. } // if
  11. if(T->element[k].sljedeciBrat != -1){
  12. T->glavniKorijen = T->element[k].sljedeciBrat;
  13. Preorder(T);
  14. } //if
  15. } // Preorder(T)
  16.  
  17. void Inorder(stablo *T){
  18. int k = T->glavniKorijen;
  19. char element = T->element[k].labela;
  20. if(T->element[k].prvoDijete != -1){
  21. T->glavniKorijen = T->element[k].prvoDijete;
  22. Inorder(T);
  23. } // if
  24. if(T->element[k].prvoDijete == -1)
  25. cout << element << " ";
  26. int roditelj = ParentT(k,T);
  27. char elementRoditelj = T->element[roditelj].labela;
  28. if(FirstChildT(roditelj,T) == k)
  29. cout << elementRoditelj << " ";
  30. if(T->element[k].sljedeciBrat != -1){
  31. T->glavniKorijen = T->element[k].sljedeciBrat;
  32. Inorder(T);
  33. } // if
  34. } // Inorder(T)
  35.  
  36. void Postorder(stablo *T){
  37. int k = T->glavniKorijen;
  38. if(T->element[k].prvoDijete != -1){
  39. T->glavniKorijen = T->element[k].prvoDijete;
  40. Postorder(T);
  41. }
  42. char element = T->element[k].labela;
  43. cout << element << " ";
  44. if(T->element[k].sljedeciBrat != -1){
  45. T->glavniKorijen = T->element[k].sljedeciBrat;
  46. Postorder(T);
  47. }
  48. } // Postorder(T)

Report this snippet  

You need to login to post a comment.