所以我在学习中有一个任务用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