Guest User

Untitled

a guest
Jul 19th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct tstablo
  6. {
  7. int label;
  8. bool used;
  9. };
  10.  
  11. struct tree
  12. {
  13. tstablo stablo[1000];
  14. };
  15.  
  16. int ParentB(int dijete, tree *stablo)
  17. {
  18. if(dijete==1) return 0;
  19. return dijete/2;
  20. }
  21.  
  22. int LeftChildB(int dijete, tree *stablo)
  23. {
  24. return dijete*2;
  25. }
  26.  
  27. int RightChildB(int dijete, tree *stablo)
  28. {
  29. return dijete*2+1;
  30. }
  31.  
  32. int LabelB(int oznaka, tree *stablo)
  33. {
  34. return stablo->stablo[oznaka].label;
  35. }
  36.  
  37. void ChangeLabelB(int x, int oznaka, tree *stablo)
  38. {
  39. stablo->stablo[oznaka].label=x;
  40. }
  41.  
  42. int RootB(tree *stablo)
  43. {
  44. return 1;
  45. }
  46.  
  47. void CreateLeftB(int x, int oznaka, tree *stablo)
  48. {
  49. if(stablo->stablo[oznaka*2].used==true) cout<<"Error"<<endl;
  50. else
  51. {
  52. stablo->stablo[oznaka*2].label=x;
  53. stablo->stablo[oznaka*2].used=true;
  54. }
  55. }
  56.  
  57. void CreateRightB(int x, int oznaka, tree *stablo)
  58. {
  59. if(stablo->stablo[oznaka*2+1].used==true) cout<<"Error"<<endl;
  60. else
  61. {
  62. stablo->stablo[oznaka*2+1].label=x;
  63. stablo->stablo[oznaka*2+1].used=true;
  64. }
  65. }
  66.  
  67. void DeleteB(int oznaka, tree *stablo)
  68. {
  69. if(stablo->stablo[oznaka*2].used==true) DeleteB(oznaka*2,stablo);
  70. else stablo->stablo[oznaka*2].used=false;
  71.  
  72. if(stablo->stablo[oznaka*2+1].used==true) DeleteB(oznaka*2+1,stablo);
  73. else stablo->stablo[oznaka*2+1].used=false;
  74. }
  75.  
  76. tree *InitB(int label, tree *stablo)
  77. {
  78. if(stablo) delete stablo;
  79. stablo=new tree;
  80. for(int x=0;x<1000;x++)
  81. {
  82. stablo->stablo[x].used=false;
  83. }
  84. stablo->stablo[1].label=label;
  85. stablo->stablo[1].used=true;
  86. }
Add Comment
Please, Sign In to add comment