📄 bsttree.cpp
字号:
#include"BSTTREE.h"
BSTNODE *BSTTREE::search(keytype k)
{
BSTNODE *cur;
cur=root;
while(cur){
if(k==cur->data.key) return cur;
if(k<cur->data.key){parent=cur;cur=cur->lchild;}
else{parent=cur;cur=cur->rchild;}
}
return 0;
}
void BSTTREE::insert(elemtype x)
{
BSTNODE *cur;
cur=new BSTNODE;
cur->data=x;
cur->lchild=cur->rchild=NULL;
if(search(x.key)) return ;
if(!root)
root=cur;
else
if(x.key<parent->data.key)
parent->lchild=cur;
else
parent->rchild=cur;
}
void BSTTREE::deleteAll(BSTNODE *cur)
{
if(cur==NULL){
cur=root;
root=NULL;
parent=NULL;
}
if(cur){
if(cur->lchild!=NULL)
deleteAll(cur->lchild);
if(cur->rchild!=NULL)
deleteAll(cur->rchild);
// delete cur->data.MyStr;
delete cur;
cur=NULL;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -