⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 节点类定义.h

📁 一个显示二叉树结构和相关算法的小程序,重在结构
💻 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 + -