Avl Struct
Avl Struct
#include <algorithm>
struct Node {
int key;
Node* left;
Node* right;
int height;
};
x->right = y;
y->left = T2;
updateHeight(y);
updateHeight(x);
return x;
}
y->left = x;
x->right = T2;
updateHeight(x);
updateHeight(y);
return y;
}
updateHeight(node);
// Right Heavy
if (balanceFactor < -1) {
if (getHeight(node->right->right) >= getHeight(node->right->left)) {
return leftRotate(node);
} else {
node->right = rightRotate(node->right);
return leftRotate(node);
}
}
return node;
}
return balance(root);
}
return balance(root);
}
inorderTraversal(root->left);
std::cout << root->key << " ";
inorderTraversal(root->right);
}
int main() {
Node* root = nullptr;
return 0;
}