Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void BTInsert (tBTNodePtr *RootPtr, int Content) {
- /* --------
- ** Vloží do stromu nový uzel s hodnotou Content.
- **
- ** Z pohledu vkládání chápejte vytvářený strom jako binární vyhledávací strom,
- ** kde uzly s hodnotou menší než má otec leží v levém podstromu a uzly větší
- ** leží vpravo. Pokud vkládaný uzel již existuje, neprovádí se nic (daná hodnota
- ** se ve stromu může vyskytnout nejvýše jednou). Pokud se vytváří nový uzel,
- ** vzniká vždy jako list stromu. Funkci implementujte nerekurzivně.
- **/
- tBTNodePtr tmp_node = *RootPtr;
- while (tmp_node != NULL) {
- if (tmp_node->Cont > Content) {
- tmp_node = tmp_node->LPtr;
- } else if (tmp_node->Cont < Content) {
- tmp_node = tmp_node->RPtr;
- } else if (tmp_node->Cont == Content) {
- return;
- }
- }
- tBTNodePtr new_node = malloc(sizeof(struct tBTNode));
- if (new_node == NULL) {
- return;
- }
- new_node->Cont = Content;
- new_node->LPtr = NULL;
- new_node->RPtr = NULL;
- tmp_node = new_node;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement