Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct BST{
- BST * left;
- int data;
- BST * right;
- };
- void push();
- void pop();
- void search();
- void preorder();
- void inorder();
- void postorder();
- BST * root = NULL;
- int main (void){
- int pilihan;
- while(true){
- cout << endl <<"Pilih operasi anda :" <<endl;
- cout << "1. Push" << endl;
- cout << "2. Pop" << endl;
- cout << "3. Search" << endl;
- cout << "4. Traverse Preorder" << endl;
- cout << "5. Traverse Inorder" << endl;
- cout << "6. Traverse Postorder" << endl;
- cout << "7. Keluar" << endl;
- cout << endl << "Pilihan Anda: ";
- cin >> pilihan;
- switch(pilihan){
- case 1 : push(); break;
- case 2 : pop(); break;
- case 3 : search(); break;
- case 4 : preorder(); break;
- case 5 : inorder(); break;
- case 6 : postorder(); break;
- case 7 : return 0; break;
- }
- }
- system ("pause");
- return 0;
- }
- void push(){
- BST * tmp = root;
- BST * doto= new BST;
- cout << endl << "nok masuk gapa nama : ";
- cin >> doto -> data;
- doto -> left = NULL;
- doto -> right = NULL;
- //true utk 1st node shj
- if( root == NULL ){
- root = doto;
- }
- // utk 2nd node n d rest
- else {
- while (){
- if( doto -> data < root -> data ){
- //maka node ni jd anok kiri
- root -> left = doto;
- }
- else if( doto -> data > root -> data ){
- //maka node nie jd anok kanan
- root -> right = doto;
- }
- else{
- //data duplicate..xleh nk push dh samad santoroyo
- cout << endl <<"data duplicate..xleh nk push dh samad santoroyo"<<endl;
- }
- }
- }
- }
- void pop(){
- }
- void search(){
- }
- void preorder(){
- }
- void inorder(){
- }
- void postorder(){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement