treenode.h

来自「二叉树的生成、查询、删除、插入等基本操作」· C头文件 代码 · 共 62 行

H
62
字号
// TreeNode.h: interface for the TreeNode class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TREENODE_H__49AFD9F2_949F_444A_B6AC_96DCEC690BD4__INCLUDED_)
#define AFX_TREENODE_H__49AFD9F2_949F_444A_B6AC_96DCEC690BD4__INCLUDED_

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

#define  TreeNodewidth   30 
#define  TreeNodeheight  30


class BSTree;


class TreeNode  
{
public:
	TreeNode():left(NULL),right(NULL){ hightlight=false;}
	TreeNode(const int & item,TreeNode  *lptr=NULL,TreeNode *rptr=NULL):data(item),left(lptr),right(rptr){hightlight=false;}
	 ~TreeNode();
	friend class BSTree;
	int data;
	int x,y;
	TreeNode * getLeft();
	TreeNode * getRight();
	bool hightlight;
	
private:
	TreeNode * left;
	TreeNode * right;
	//TreeNode * parent;
};


class BSTree
{
public:
	BSTree(TreeNode*&root);
	~BSTree();
	void DeleteBSTree(TreeNode*&root);                            //删除树
	bool BSTreeEmpty(TreeNode*&root);                             //判断树是否为空
    TreeNode * BSTreeLocate(TreeNode*&root,int item);             //查找元素
	void BSTreeInsert(TreeNode*&root,int item);                   //插入元素
	void BSTree::BSTreeDelete(TreeNode*&root,int item);           //删除元素
	void Inorder(TreeNode*&root,int,int,int &);                   //中序遍历
	bool SetColor(TreeNode *T);                                   //设置二叉树节点的颜色
	void TreeNodePosition(TreeNode * &root);
	void DrawBSTree(CDC *pDC,TreeNode * &root);
	
private:
	
	
};
int TreeNode_Position(int upperwidth,int  leftwidth, TreeNode *T);
void Draw_BSTree(CDC *pDC,TreeNode *T);

#endif // !defined(AFX_TREENODE_H__49AFD9F2_949F_444A_B6AC_96DCEC690BD4__INCLUDED_)
 

⌨️ 快捷键说明

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