int bin_search(const struct tree * search_tree, int
item)
{
const struct node * search_node;
search_node = search_tree->root;
for(;;)
{
if (search_node == NULL) return 0;
else if (item == search_node->data) return 1;
else if (item > search_node->data) search_node
= search_node->right;
else search_node = search_node->left;
}
}
Daraxtda shunday tekshirish o’tkazilgandan keyin binar daraxtga tugun
qo’shishga o’tamiz. Tugun qo’yish funktsiyasi qidirish funktsiyasiga o’xshash:
daraxt bo’yicha o’tish va tugunni keraki joyga qo’yish kerak. Buning uchun ildiz
tugunning chap va o’ng qismdaraxtlari tanlab olinib, rekursiv ravishda tanlangan
qismdaraxtga element qo’yish uchun joy topilmay qolguncha yangi tugunlar
joylashtirib chiqiladi (4-listing).
Listing 4. Binar qidiruv daraxtiga tugun qo’yish uchun funktsiya
Do'stlaringiz bilan baham: |