Advertisement
Fakhru

PBT 1 OOP

Sep 7th, 2014
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct BST{
  5. BST * left;
  6. int data;
  7. BST * right;
  8. };
  9.  
  10. void push();
  11. void pop();
  12. void search();
  13. void preorder();
  14. void inorder();
  15. void postorder();
  16.  
  17. BST * root = NULL;
  18.  
  19. int main (void){
  20. int pilihan;
  21.  
  22. while(true){
  23. cout << endl <<"Pilih operasi anda :" <<endl;
  24. cout << "1. Push" << endl;
  25. cout << "2. Pop" << endl;
  26. cout << "3. Search" << endl;
  27. cout << "4. Traverse Preorder" << endl;
  28. cout << "5. Traverse Inorder" << endl;
  29. cout << "6. Traverse Postorder" << endl;
  30. cout << "7. Keluar" << endl;
  31. cout << endl << "Pilihan Anda: ";
  32. cin >> pilihan;
  33.  
  34. switch(pilihan){
  35. case 1 : push(); break;
  36. case 2 : pop(); break;
  37. case 3 : search(); break;
  38. case 4 : preorder(); break;
  39. case 5 : inorder(); break;
  40. case 6 : postorder(); break;
  41. case 7 : return 0; break;
  42. }
  43. }
  44.  
  45. system ("pause");
  46. return 0;
  47. }
  48.  
  49. void push(){
  50. BST * tmp = root;
  51. BST * doto= new BST;
  52. cout << endl << "nok masuk gapa nama : ";
  53. cin >> doto -> data;
  54. doto -> left = NULL;
  55. doto -> right = NULL;
  56.  
  57.  
  58. //true utk 1st node shj
  59. if( root == NULL ){
  60. root = doto;
  61. }
  62. // utk 2nd node n d rest
  63. else {
  64. while (){
  65. if( doto -> data < root -> data ){
  66. //maka node ni jd anok kiri
  67. root -> left = doto;
  68. }
  69. else if( doto -> data > root -> data ){
  70. //maka node nie jd anok kanan
  71. root -> right = doto;
  72. }
  73. else{
  74. //data duplicate..xleh nk push dh samad santoroyo
  75. cout << endl <<"data duplicate..xleh nk push dh samad santoroyo"<<endl;
  76. }
  77. }
  78. }
  79. }
  80.  
  81. void pop(){
  82.  
  83. }
  84.  
  85. void search(){
  86.  
  87. }
  88.  
  89. void preorder(){
  90.  
  91. }
  92.  
  93. void inorder(){
  94.  
  95. }
  96.  
  97. void postorder(){
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement