threadbinarytreenode.h

来自「数据结构二叉树的源码」· C头文件 代码 · 共 47 行

H
47
字号
// ThreadBinaryTreeNode.h: interface for the ThreadBinaryTreeNode class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_THREADBINARYTREENODE_H__C8A1F5EE_AE5A_4117_AFA5_53BB64912CA5__INCLUDED_)
#define AFX_THREADBINARYTREENODE_H__C8A1F5EE_AE5A_4117_AFA5_53BB64912CA5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

template <class T> class ThreadBinaryTree;

template <class T>
class ThreadBinaryTreeNode  
{
friend class ThreadBinaryTree<T>;
private:
	int lTag,rTag;							//左右标志位
	ThreadBinaryTreeNode<T> *left,*right;	//线索或左右子树
	T	element;
public:
	ThreadBinaryTreeNode();
	//构造函数
	ThreadBinaryTreeNode(const T&):element(T),left(NULL),right(NULL),lTag(0),rTag(0){};
	//给定数据的左右指针的构造函数
	ThreadBinaryTreeNode(const T& ele,ThreadBinaryTreeNode<T>* l,int leftTag, ThreadBinaryTreeNode<T>* r,int rightTag);
	T value() const{return element;};						 		
	ThreadBinaryTreeNode<T>* leftchild()const {return left;};	
	ThreadBinaryTreeNode<T>* rightchild()const {return right;};
	void setValue(const T& type){element=type;};
	virtual ~ThreadBinaryTreeNode(){};						//析构函数
};

template<class T>
ThreadBinaryTreeNode<T>::ThreadBinaryTreeNode(const T& ele,ThreadBinaryTreeNode<T>* l,int leftTag, ThreadBinaryTreeNode<T>* r,int rightTag)
//给定数据的左右指针的构造函数
{
	element=ele;
	left=l;
	lTag=leftTag;
	right=r;
	rTag=rightTag;
}

#endif // !defined(AFX_THREADBINARYTREENODE_H__C8A1F5EE_AE5A_4117_AFA5_53BB64912CA5__INCLUDED_)

⌨️ 快捷键说明

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