#include <iostream> #include <string> using namespace std; struct gammal{ -string name; -int rank; -gammal *left,*right; -gammal(string n, int r){ --name = n; --rank = r; --left = NULL; --right = NULL; -} -void print(){ --cout<<name<<endl; -} }; gammal* add(gammal *g, string n, int r){ -if(g == NULL){ --g = new gammal(n,r); --return g; -} -if(r > g->rank) --g->right = add(g->right,n,r); -if(r < g->rank) --g->left = add(g->left,n,r); -return g; } void show(gammal *g){ -if(g == NULL) --return; -cout<<"--------"<<endl; -cout<<g->name<<endl; -cout<<g->rank<<endl; -show(g->left); -show(g->right); } int main(){ -gammal *g=NULL; -int answer; -do{ --cout<<"1) Add"<<endl; --cout<<"2) Show"<<endl; --cout<<"3) Exit"<<endl; --cout<<"What would you like to do? "; --cin>>answer; --if(answer == 1){ ---string n; ---int r; ---cout<<"Enter name: "; ---cin>>n; ---cout<<"Enter rank: "; ---cin>>r; ---g = add(g,n,r); --} --else if(answer == 2) ---show(g); -}while(answer == 1 || answer == 2); }
1. برنامج يقوم بإنشاء BST و يتيح إضافة عناصر و عرضهم بالترتيب التصاعدى ( من الأصغر إلى الأكبر )