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

📄 bstree.h

📁 简单的二叉树实现
💻 H
字号:
#include "bstnode.h"
class bsTree
{
private:
	bstnode *root;
	bstnode *current;
	bstnode *curpri;
public:
	bsTree();
	void add(int k);
	void delNode(int k);
	void display(bstnode *q);
	bstnode *getroot();
	void display2();
};
bsTree::bsTree()
{
	root=current=NULL;
}
void bsTree::add(int k)
{
	bstnode *p;
	if(root==NULL)
	{
		p=new bstnode(NULL,k,NULL);
		root=p;
		curpri=current=root;
	}
	else
	{
		while(current!=NULL)
		{
			if(k<current->key)
			{
				curpri=current;
				current=current->leftChild;
			}
			else
			{
				curpri=current;
				current=current->rightChild;
			}
		}
		if(k<curpri->key)
		{
			p=new bstnode(current,k,NULL);
			curpri->leftChild=p;
			current=root;
			curpri=root;
		}
		else
		{
			p=new bstnode(NULL,k,current);
			curpri->rightChild=p;
			current=root;
			curpri=root;
		}
	}
}
bstnode* bsTree::getroot()
{
	return root;
}
void bsTree::display(bstnode *q)
{
	if(q!=NULL)
	{
		display(q->leftChild);
		cout<<q->key<<endl;
		display(q->rightChild);
	}
}
void bsTree::display2()
{
	bstnode *p=root;
	while(p!=NULL)
	{
		cout<<p->key<<endl;
		p=p->leftChild;
	}
	p=root;
	while(p!=NULL)
	{
		cout<<p->key<<endl;
		p=p->rightChild;
	}
}

⌨️ 快捷键说明

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