# include // #include // #include // #include // #include // #include // #include using namespace std; # include "treenode.h" void TreeInsert (treenode * root, int x){ //create a new node treenode* n = new treenode; n->setvalue( x); //make it a leaf n->lchild = n->rchild = NULL; //look for a place in the tree to insert it treenode* e = root; cout<<"\n --- val="<getvalue()<<")"; e->size++; if (e->getvalue()<=x){ cout << "; going right\n"; if (e->rchild==NULL){ e->rchild=n; n->parent=e; cout<< " inserting node "<lchild==NULL){ e->lchild=n; n->parent=e; cout<< " inserting node "<lchild); cout<<"\ngoing right ..."; TraversePreorder (node->rchild); } void TraversePostorder (treenode* node){//lchild-rchild-parent if (node==NULL) {cout<< "NULL."; return;} cout<<"\ngoing left ..."; TraversePostorder (node->lchild); cout<<"\ngoing right ..."; TraversePostorder (node->rchild); cout<<"\n"<<"address="<lchild->rchild)->TraverseInorder(); cout<<"\n\n"; //return 0; cout<<"\n\n TRAVERSAL in PREORDER\n"; TraversePreorder(root->lchild); //return 0; cout<<"\n\n\n\n TRAVERSAL in POSTORDER\n"; TraversePostorder(root); //return 0; cout<<"\n\n\n\n TRAVERSAL BFS\n"; TraverseBFS(root); return 0; }