Пример демонстрирует, каким образом можно добавить новый элемент в бинарное дерево поиска.
Добавление нового элемента в бинарное дерево поиска:
01.
void
add (Node* &root,
int
inf1,
char
* name) {
02.
Node* n=
new
Node;
03.
n->left=NULL;
04.
n->right=NULL;
05.
n->inf1=inf1;
06.
n->name=
new
char
[
strlen
(name)+1];
07.
strcpy_s (n->name,
strlen
(name)+1, name);
08.
if
(!root) {
09.
root=n;
10.
return
;
11.
}
12.
Node* cur=root;
13.
Node* prv=root;
14.
while
(!cur) {
15.
prv=cur;
16.
if
(inf1<cur->inf1) cur=cur->left;
17.
else
cur=cur->right;
18.
}
19.
if
(inf1<prv->inf1) prv->left=n;
20.
else
prv->right=n;
21.
return
;
22.
}
23.
24.
}
Comments ( 0 )