C - как проверить элемент next->next->value в связанных списках (AVL-дерево)
Таким образом, в моих исследованиях я получил задачу написать дерево AVL на C, и мне нужно было реализовать функцию баланса. Теперь, в основном, я застреваю, когда мне нужно проверить дочерний элемент моего элемента, который не всегда инициализируется, после чего терминал выдает ошибку, потому что нет дочернего элемента дочернего элемента, мой вопрос: есть ли способ определить это, если есть эта ошибка, просто вставив ноль?
Я использовал другой ветвь if, чтобы проверить, есть ли дочерний элемент, но я считаю его глупым.
// 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