📄 bstree.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 + -