Posted By

cvitka on 01/19/15


Tagged

sp


Versions (?)

Main


 / Published in: C++
 

Main napisan u jeziku c++ koristeći napravljene implementacije za stablo i binarno stablo

  1. #include <iostream>
  2. #include "bstablo_polje.h"
  3. //#include "bstablo_pokazivac.h"
  4. #include "stablo.h"
  5. using namespace std;
  6.  
  7. stablo *korijen=new stablo;
  8. binarno_stablo *korijen2=new binarno_stablo;
  9.  
  10. int main() {
  11. int izbor,izbor2;
  12. cout << "1.Rad sa opcenitim stablom"<<endl;
  13. cout << "2.Rad sa binarnim stablom"<<endl;
  14. cout << "Vas izbor: ";
  15. cin >> izbor;
  16. do{
  17. if(izbor==1)
  18. {
  19. cout << "RAD SA OPCENITIM STABLOM"<<endl;
  20. cout << "0.InitT "<<endl;
  21. cout << "1.ParentT "<<endl;
  22. cout << "2.FirstChildT "<<endl;
  23. cout << "3.NextSiblingT "<<endl;
  24. cout << "4.LabelT"<<endl;
  25. cout << "5.RootT"<<endl;
  26. cout << "6.CreateT"<<endl;
  27. cout << "7.ChangeLabelT"<<endl;
  28. cout << "8.DeleteT"<<endl;
  29. cout << "99.Izlaz"<<endl;
  30. cout << "Vas izbor: ";
  31. }
  32. if(izbor==2)
  33. {
  34. cout << "RAD SA BINARNIM STABLOM"<<endl;
  35. cout << "0.InitB "<<endl;
  36. cout << "1.ParentB "<<endl;
  37. cout << "2.LeftChildB "<<endl;
  38. cout << "3.RightChildB "<<endl;
  39. cout << "4.LabelB"<<endl;
  40. cout << "5.ChangeLabelB"<<endl;
  41. cout << "6.RootB"<<endl;
  42. cout << "7.CreateLeftB"<<endl;
  43. cout << "8.CreateRightB"<<endl;
  44. cout << "9.DeleteB"<<endl;
  45. cout << "99.Izlaz"<<endl;
  46. cout << "Vas izbor: ";
  47. }
  48. if(izbor != 1 && izbor != 2)
  49. {
  50. cout << "Izbor ne postoji" << endl;
  51. break;
  52. }
  53. cin>>izbor2;
  54. switch(izbor2)
  55. {
  56. case 0:
  57. {
  58. int x;
  59. cout << "Vrijednost korjena: ";
  60. cin >> x;
  61. if(izbor==1)
  62. InitT(x,korijen);
  63. if(izbor==2)
  64. InitB(x,korijen2);
  65. break;
  66. }
  67. case 1:
  68. {
  69. int n;
  70. cout<<"Unesite cvor: ";
  71. cin>>n;
  72. if(izbor==1)
  73. cout<<ParentT(n,korijen);
  74. if(izbor==2)
  75. cout<<ParentB(n,korijen2);
  76. break;
  77. }
  78. case 2:
  79. {
  80. int n;
  81. cout << "Unesite cvor: ";
  82. cin >> n;
  83. if(izbor==1)
  84. cout<<FirstChildT(n,korijen)<<endl;
  85. if(izbor==2)
  86. cout<<LeftChildB(n,korijen2)<<endl;
  87. break;
  88. }
  89. case 3:
  90. {
  91. int n;
  92. cout << "Unesite cvor: ";
  93. cin >> n;
  94. if(izbor==1)
  95. cout<<NextSiblingT(n,korijen)<<endl;
  96. if(izbor==2)
  97. cout<<RightChildB(n,korijen2)<<endl;
  98. break;
  99. }
  100. case 4:
  101. {
  102. int n;
  103. cout << "Unesite cvor: ";
  104. cin >> n;
  105. if(izbor==1)
  106. cout<<LabelT(n,korijen)<<endl;
  107. if(izbor==2)
  108. cout<<LabelB(n,korijen2)<<endl;
  109. break;
  110. }
  111. case 5:
  112. {
  113. if(izbor==1)
  114. cout<<RootT(korijen)<<endl;
  115. if(izbor==2)
  116. {
  117. int n,x;
  118. cout << "Unesite cvor: ";
  119. cin >> n;
  120. cout << "Unesite novu vrijednost cvora: ";
  121. cin >> x;
  122. ChangeLabelB(x,n,korijen2);
  123. }
  124. break;
  125. }
  126. case 6:
  127. {
  128. if(izbor==1)
  129. {
  130. int n,x;
  131. cout << "Unesite cvor: ";
  132. cin >> n;
  133. cout << "Unesite vrijednost djeteta cvora: ";
  134. cin >> x;
  135. CreateT(x,n,korijen);
  136. }
  137. if(izbor==2)
  138. cout<<RootB(korijen2)<<endl;
  139. break;
  140. }
  141. case 7:
  142. {
  143. if(izbor==1)
  144. {
  145. int x, n;
  146. cout << "Unesite cvor: ";
  147. cin >> n;
  148. cout << "Unesite vrijednost djeteta cvora: ";
  149. cin >> x;
  150. ChangeLabelT(x,n,korijen);
  151. }
  152. if(izbor==2)
  153. {
  154. int x1, n1;
  155. cout << "Unesite cvor: ";
  156. cin >> n1;
  157. cout << "Unesite vrijednost lijevog djeteta cvora: ";
  158. cin >> x1;
  159. CreateLeftB(x1,n1,korijen2);
  160. }
  161. break;
  162. }
  163.  
  164. case 8:
  165. {
  166. if(izbor==1)
  167. {
  168. int n;
  169. cout << "Unesite cvor: ";
  170. cin >> n;
  171. DeleteT(n,korijen);
  172. }
  173. if(izbor==2)
  174. {
  175. int n1,x;
  176. cout << "Unesi cvor: ";
  177. cin >> n1;
  178. cout << "Unesi vrijednost desnog djeteta cvora: ";
  179. cin >> x;
  180. CreateRightB(x,n1,korijen2);
  181. }
  182. break;
  183. }
  184. case 9:
  185. {
  186. if(izbor==1)
  187. break;
  188. int n;
  189. cout << "Unesite cvor: ";
  190. cin >> n;
  191. DeleteB(n,korijen2);
  192. break;
  193. }
  194. }
  195. }
  196. while(izbor2!=99);
  197. return 0;
  198. }

Report this snippet  

You need to login to post a comment.