急求!!!!链式二叉排序树的建立…………急求!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/01 22:05:34
利用C或者C++,采用二叉链表和头指针申明和定义一个二叉排序树,通过键盘输入数字的方式建立该二叉排序树,并实现其中序遍历,以此验证二叉排序树的建立是否成功。

版本1:
#include <iostream>

using namespace std;

template<typename Type> class BinTree;

template<typename Type>
class BTNode
{
friend class BinTree<Type>;
public:

BTNode() : left(NULL), right(NULL) {}
BTNode(const Type &d, BTNode<Type> *l = NULL,BTNode<Type> *r = NULL)
: data(d), left(l), right(r) {}

private:
BTNode<Type> *left, *right;
Type data;
};

template<typename Type>
class BinTree
{
public:
BinTree() : root(NULL) {}
~BinTree() { Clear(root); }

void Insert(const Type &item);
void Clear(BTNode<Type> *r);
void PreOrder(BTNode<Type> *r);
void InOrder(BTNode<Type> *r);
void PostOrder(BTNode<Type> *r);

void PreOrder();
void InOrder();
void PostOrder();

private:
BTNode<Type> *root