#include
using namespace std;
template
class BinaryTree;//出现error C2143: syntax error : missing ';' before '<'
template
class BinaryTreeNode
{
friend class BinaryTree;
private:
T element;
BinaryTreeNodeleft,*right;
public:
BinaryTreeNode(); //缺省构造函数
BinaryTreeNode(const T& ele);//给定数据构造函数
BinaryTreeNode(const T& ele, BinaryTreeNode l, BinaryTreeNode* r);
T value() const;//返回当前结点的数据
//返回当前结点指向左子树
BinaryTreeNode* leftchild() const;
//返回当前结点指向右子树
BinaryTreeNode* rightchild() const;
//设置当前结点的左子树
void setLeftchild(BinaryTreeNode) ;
//设置当前结点的右子树
void setRightchild(BinaryTreeNode) ;
//设置当前结点的数据域
void setValue(const T& val);
bool isLeaf() const; //重载赋值操作符
BinaryTreeNode& operator= (const BinaryTreeNode& Node)
{
this=Node;
};
};
template
class BinaryTree
{
private:
//二叉树根结点指针
BinaryTreeNode* root;
//从二叉树的root结点开始查找current结点的父结点
BinaryTreeNode GetParent (BinaryTreeNode* root, BinaryTreeNode* current);
public:
BinaryTree(){root=NULL}; //构造函数
~BinaryTree() {DeleteBinaryTree(root);};//析构函数
//前序周游二叉树或其子树
void PreOrder(BinaryTreeNode* root);
//中序周游二叉树或其子树
void InOrder(BinaryTreeNode* root);
//后序周游二叉树或其子树
void PostOrder(BinaryTreeNode* root);
//按层次周游二叉树或其子树
void BLevelOrder (BinaryTreeNode *root);
void CreateTree (BinaryTreeNode *t) ;
};
在二叉树编程中,出现缺少“;”的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据