📄 节点类定义.h
字号:
#ifndef NODEDEFINE_H
#define NODEDEFINE_H
enum Nodetype{leaf,internal};
class VarBinNode{
public:
Nodetype mytype;
union{
struct{
VarBinNode* left;
VarBinNode* right;
char opx;
}intl;
int var;
};
VarBinNode(const int& val)
{
mytype=leaf;
var=val;
}
VarBinNode(const char& op,VarBinNode* l,VarBinNode* r)
{
mytype=internal;
intl.opx=op;
intl.left=l;
intl.right=r;
}
bool isLeaf(){return mytype==leaf;}
VarBinNode* leftchild(){return intl.left;}
VarBinNode* rightchild(){return intl.right;}
};
void traverse(VarBinNode* subroot)
{
if(subroot==NULL)return;
if(subroot->isLeaf())cout<<"Leaf:"<<subroot->var<<'\n';
else{
cout<<"Internal:"<<subroot->intl.opx<<'\n';
traverse(subroot->leftchild());
traverse(subroot->rightchild());
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -