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

📄 bitreenode.h

📁 数据结构的一些教程....比较适于初学者
💻 H
字号:
//这是二叉树结点为BiTreeNode<T>的定义与实现
//并定义了由结点构造二叉树的外部函数GetTreeNode
#ifndef BITREENODE_H
#define BITREENODE_H
#include "iostream.h"
#include "stdlib.h"

template<class T>
class BiTreeNode
{
private:
	T data;                     //数据域
	BiTreeNode<T> *leftChild;   //左子树指针
	BiTreeNode<T> *rightChild;  //右子树指针
public:
	BiTreeNode()                  //用于构造空树的根结点
	{  leftChild=NULL; rightChild=NULL;  }
	BiTreeNode(T item, BiTreeNode<T> *left=NULL,BiTreeNode<T> *right=NULL)
	{  //根据数据域item及左、右子树指针left、right构造一般树结点
		data=item;
		leftChild=left;
		rightChild=right;
	}
	~BiTreeNode()
	{  }

	T GetData() const    //返回数据域的值
	{ return data; }
	BiTreeNode<T>* &Left(void) //返回左子树指针的引用,以便能接受左子树
	{ return leftChild;  }
	BiTreeNode<T>* &Right(void)//返右子树指针的引用,以便能接受右子树
	{ return rightChild;  }
};

//外部函数:由结点构造二叉树
template<class T>
BiTreeNode<T>* GetTreeNode(T item, BiTreeNode<T>* left=NULL, BiTreeNode<T>* right=NULL)
//由给定的数据域item及左、右子树指针left、right构造二叉树的一个结点,
//返回指向该结点的指针
{
	BiTreeNode<T> *p;
	p=new BiTreeNode<T>(item,left,right);

	if(p==NULL)
	{
		cerr<<"内存分配失败!\n";
		exit(1);
	}
	return p;
}
#endif //BITREENODE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -