binarno stablo_pretraživanje


/ Published in: C++
Save to your folder(s)

Implementacija binarnog stabla pretraživanja iz kolegija Strukture podataka.


Copy this code and paste it in your HTML
  1. bool ExistsLeftChild(pok_element *T){
  2. if(T->left)
  3. return true;
  4. else
  5. return false;
  6. }
  7.  
  8. bool ExistsRightChild(pok_element *T){
  9. if(T->right)
  10. return true;
  11. else
  12. return false;
  13. }
  14.  
  15. void InsertBS(int x, pok_element *T){
  16. bool dalje = true;
  17. pok_element *cvor = T;
  18.  
  19. do{
  20. if(x > cvor->label){
  21. if(ExistsRightChild(cvor))
  22. cvor = cvor->right;
  23. else {
  24. CreateRightB(x, cvor);
  25. dalje = false;
  26. }
  27. }
  28. else if(x < cvor->label){
  29. if(ExistsLeftChild(cvor))
  30. cvor = cvor->left;
  31. else {
  32. CreateLeftB(x, cvor);
  33. dalje = false;
  34. }
  35. }
  36. else dalje = false;
  37. }while(dalje);
  38. }
  39.  
  40. void searchBT(int x, pok_element *T){
  41. if(T->label == x){
  42. cout << "Element je uspjesno pronaden!" << endl << endl;
  43. return;
  44. }
  45. if(x > T->label){
  46. if(ExistsRightChild(T))
  47. searchBT(x, T->right);
  48. else
  49. cout << "Trazeni element ne postoji!" << endl;;
  50. }
  51. if(x < T->label){
  52. if(ExistsLeftChild(T))
  53. searchBT(x, T->left);
  54. else
  55. cout << "Trazeni element ne postoji!" << endl;;
  56. }
  57. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.