// file bstree.cpp
#include
#include
#include "bstree.h"
BSTree::BSTree():Tree(){}
BSTree::BSTree(Type x):Tree(x){}
int BSTree::isempty()
{ return Tree::isempty();
}
void BSTree::print()
{ Tree::print(2);
}
int BSTree::myfind(Type x, Tnode * &q, Tnode * &t)
{ q = NULL;
if (isempty()) return 0;
t = root;
while (t && x != t->getinfo()){ q = t;
if (x < t->getinfo())
t = t->getleft();
else
t = t->getright();
}
if (t) return 1;
else return 0;
}
int BSTree::find(Type x)
{ Tnode *t, *q;
return myfind(x,q,t);
}
void BSTree::insert(Type x)
{ Tnode *t, *q;
if (myfind(x,q,t))
return;
if (!q) { makeroot(x);
return;
}
if (x < q->getinfo())
insertleft(q,x);
else
insertright(q,x);
}