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

📄 treenode.h

📁 二叉树的生成、查询、删除、插入等基本操作
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -