Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #define MAXS 1000
  4. typedef int nodetypeb;
  5. typedef int elementtypes;
  6. typedef int elementtype;
  7. #include "abtree.h"
  8. #include "astack.h"
  9. using namespace std;
  10.  
  11. int main(){
  12. stack S;
  13. btree B;
  14. nodetypeb v;
  15. char odabir;
  16. int n;
  17. nodeb cvor;
  18. cout<<"Koliko cvorova: "<<endl;
  19. cin>>n;
  20. cout<<"Korijen: "<<endl;
  21. cin>>v;
  22. InitB(B,v);
  23. InitS(S);
  24. cvor=RootB(B);
  25. while(n!=0){
  26. cout<<"Trenutna lokacija: "<<cvor<<" Oznaka: "<<LabelB(B,cvor)<<endl;
  27. cout<<"Dodavanje dijeteta L-D"<<endl;
  28. cout<<"Prelazak dijeteta F-G"<<endl;
  29. cout<<"Povratak na roditelja P\n"<<endl;
  30. cin>>odabir;
  31. if(odabir=='D' || odabir=='L') n--;
  32. if(odabir=='L'){
  33. cout<<"Unesite oznaku: "; cin>>v;
  34. CreateLeftChildB(B,cvor,v);
  35. }
  36. else if(odabir=='D'){
  37. cout<<"Unesite oznaku: "; cin>>v;
  38. CreateRightChildB(B,cvor,v);
  39. }
  40. else if(odabir=='F'){
  41. cvor=LeftChildB(B,cvor);
  42. }
  43. else if(odabir=='G'){
  44. cvor=RightChildB(B,cvor);
  45. }
  46. else if(odabir=='P'){
  47. cvor=ParentB(B,cvor);
  48. }
  49. }
  50. cvor=RootB(B);
  51. stack ZaPosjetiti;
  52. stack Posjeceni;
  53. InitS(ZaPosjetiti);
  54. InitS(Posjeceni);
  55. PushS(ZaPosjetiti, elementtypes(cvor));
  56. while(IsEmptyS(ZaPosjetiti)!=true){
  57. int trenutni = TopS(ZaPosjetiti);
  58. if(RightChildB(B, trenutni)!=-1 ||LeftChildB(B, trenutni)!=-1){
  59. if(TopS(Posjeceni) != trenutni){
  60. PushS(Posjeceni, trenutni);
  61. }
  62. PopS(Posjeceni);
  63. }
  64. cout<<trenutni<<", "<<endl;
  65. }
  66. system("pause");
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement