C - 如何检查链接列表中的元素next-> next->值(AVL-Tree)

时间:2018-02-09 09:39:49

标签: c linked-list null nodes avl-tree

所以我在学习中有一个任务用C编写AVL树,需要实现平衡功能。 现在基本上我被卡住的地方是当我需要检查我的元素的孩子的孩子,这并不总是被初始化时,终端然后给出错误因为没有孩子的孩子,我的问题是,如果有一个如何定义如果只有插入零的错误?

我使用了另一个如果分支检查之前是否有一个子元素,但我觉得它很愚蠢。

            // if(node->left && node->right)  // check if tree have left and right
        // {
            if(node->left->height > node->right->height+1)
            {
                // if(node->left->left && node->left->right)
                // {
                    if(node->left->left->height < node->left->right->height)
                    {
                        AVL_rotate_left(avlt, node->left);
                    }
                // }
                AVL_rotate_right(avlt, node);
            }

终端:

Füge 12 ein...
Füge 2 ein...
Speicherzugriffsfehler   -// Memory access error

0 个答案:

没有答案