Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cassert>
- using namespace std;
- class BSTNode {
- char data ;
- BSTNode *rNode ;
- BSTNode *lNode ;
- public :
- BSTNode( char c ) { rNode = 0 ;
- lNode = 0 ;
- data = c ; }
- char getData() { return data ; }
- void setRNode(BSTNode*& b ) { rNode = b ; }
- BSTNode getRNode () { return RNode ; }
- void setLNode (BSTNode*& g ) { lNode = g ; }
- BSTNode getLNode (){ return lNode ; }
- } ;
- class BST {
- BSTNode *root ;
- public :
- BST(){ root = NULL ; }
- BSTNode getRoot() { return root ; }
- bool isEmpty() {(root == NULL) ; }
- void insert( char& d) {
- {
- nodeType *current;
- nodeType *trailCurrent;
- nodeType *newNode;
- newNode = new BSTNode() ;
- assert(newNode != NULL);
- newNode->setdata( d ) ;
- newNode->setRNode ( NULL ) ;
- newNode->setlNode ( NULL )
- if(root == NULL)
- root = newNode;
- else
- {
- current = root;
- while(current != NULL)
- {
- trailCurrent = current;
- if(current->getdata() == item)
- {
- cout<<"The insert item is already in the list ";
- cout<<"duplicates are not allowed."<<endl;
- return;
- }
- else
- if(current->getdata() > item)
- current = current->getlNode;
- else
- current = current->getRNode;
- }
- if(trailCurrent->getdata() > item)
- trailCurrent->setlNode( newNode ) ;
- else
- trailCurrent->setRNode ( newNode ) ;
- }
- } }
- bool contains() ; } ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement