📄 bstree.c
字号:
#include "bstree.h"
/*----------------------------------------------------------------------------------*
*- Function : BSTreeInsert
*- Parameter : proot, root of BSTree
*- pbranch, leaf to insert into tree
*- return : 0, if Insert acomplished successfully
*- brief : Nothing will be done when inserting a branch into an empty tree.
*- Insert a branch with id already exist in the tree is not allowd.
*----------------------------------------------------------------------------------*/
uint8 BSTreeInsert(PBranch proot, PBranch pbranch, uint32 id) {
PBranch ptr;
if (proot != (PBranch)0) {
return (1);
}
do {
if (proot->id != id) {
ptr = proot;
proot = ((proot->id < id) ? proot->lchld : proot->rchld);
}
else {
return (1);
}
} while (proot != (PBranch)0);
pbranch->id = id;
pbranch->lchld = (PBranch)0;
pbranch->rchld = (PBranch)0;
if (ptr->id < id) {
ptr->lchld = pbranch;
}
else {
ptr->rchld = pbranch;
}
return (0);
}
PBranch BSTreeSearch(PBranch proot, uint32 id) {
while (proot != (PBranch)0) {
if (proot->id != id) {
ptr = proot;
proot = ((proot->id < id) ? proot->lchld : proot->rchld);
}
else {
return (proot);
}
}
return ((PBranch)0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -