#ifndef BITREE_H
#define BITREE_H
#include <iostream>
using namespace std;
template<typename elemtype> class bitnode
{
public:
bitnode();//构造函数
bitnode( const bitnode& );//拷贝构造函数
const elemtype date () const;//读取数据
const bitnode *lchild () const;//返回左指针
const bitnode *rchild () const;//返回右指针
void get_date( const elemtype );//输入数据
void get_lchild ( const bitnode* );//输入左指针
void get_rchild ( const bitnode* );//输入右指针
bitnode operator =( const bitnode& ); //赋值,只声明
private:
elemtype _date;//节点数据
bitnode *_lchild,*_rchild;//左右孩子指针
};//二叉树的节点
//bitnode类函数实现
template<typename elemtype>
bitnode<elemtype>::bitnode()
{
get_date( 0 );
get_rchild( 0 );
get_lchild( 0 );
}
template<typename elemtype >const
bitnode<elemtype>* bitnode<elemtype>::lchild() const
{
return _lchild;
}
template<typename elemtype> const
bitnode<elemtype>* bitnode<elemtype>::rchild() const
{
return _rchild;
}
template<typename elemtype> const
elemtype bitnode<elemtype>::date () const
{
return _date;
}
template<typename elemtype>
void bitnode<elemtype>::get_date( const elemtype de )
{
_date = de;
}
template<typename elemtype>
void bitnode<elemtype>::
get_lchild( const bitnode *pev)
&nb

这是一个关于使用C++实现二叉树数据结构的博客,包括定义了一个名为`bitnode`的模板类来表示二叉树节点,包含了节点数据、左右子节点指针以及相关操作。同时,还定义了一个`BiTree`类,包含构造函数、拷贝构造函数、打印树中数据的方法、测试树是否为空、返回节点个数等操作。博客提供了二叉树的先序、中序和后序遍历的实现。
最低0.47元/天 解锁文章
3926





