#include <iostream>
using namespace std;
template <class T> class BST;
template <class T>
class Element
{
public :
T key;
};
template <class T>
class BstNode
{
friend class BST<T>;
public:
//private:
Element<T> data;
BstNode * leftChild;
BstNode * rightChild;
void display(int i);
};
template <class T>
class BST
{
public:
BST(BstNode<T>* init = 0) :root(init) {}
bool Insert(Element<T> const &x); //二叉查找树插入节点
BstNode<T>* Search(Element<T> const &x); //二叉查找树递归查找节点
BstNode<T>* Search(BstNode<T>*, Element<T> const &x);
BstNode<T>* IterSearch(Element<T> const &x); //
void display()
{
cout << "\n";
if (root)
root->display(1);
else
cout << "empty tree\n";
}
private:
BstNode<T> * root;
};
template<class T>
void BstNode<T>::display(int i)
{
cout <&l
C++二叉查找树
最新推荐文章于 2024-04-24 19:37:23 发布