Я пытался отлаживать свой код более часа и не могу понять, в чем проблема. У меня есть этот класс как Vertex:
class avl_node {
public:
T data;
int value;
int high;
avl_node *left, *right;
avl_node *parent;
и у меня есть это дерево (до и после попытки вставить 21 в дерево):
Это функция вращения:
Status ll_rotation(avl_node<T> *v) {
avl_node<T>* tmp = v->left;
v->left = tmp->right;
if (tmp->right){
tmp->right->parent = v;
}
tmp->right = v;
tmp->parent = v->parent;
v->parent = tmp;
if (this->root == v) {
this->root = tmp;
}
return OK;
}