ПП
Size: a a a
ПП
AB
ПП
AB
CC
void InsertRepairTree(Node* n) {
if (GetParent(n) == nullptr) {
InsertCase1(n);
} else if (GetParent(n)->color == BLACK) {
InsertCase2(n);
} else if (GetUncle(n) != nullptr && GetUncle(n)->color == RED) {
InsertCase3(n);
} else {
InsertCase4(n);
}
}
CC
void InsertRepairTree(Node* n) {
if (GetParent(n) == nullptr) {
InsertCase1(n);
} else if (GetParent(n)->color == BLACK) {
InsertCase2(n);
} else if (GetUncle(n) != nullptr && GetUncle(n)->color == RED) {
InsertCase3(n);
} else {
InsertCase4(n);
}
}
T
T
T
CC
void InsertRepairTree(Node* n) {
if (GetParent(n) == nullptr) {
InsertCase1(n);
} else if (GetParent(n)->color == BLACK) {
InsertCase2(n);
} else if (GetUncle(n) != nullptr && GetUncle(n)->color == RED) {
InsertCase3(n);
} else {
InsertCase4(n);
}
}
InsertCase3(n);
должен быть обёрнут в два if'а, один проверяет, что GetUncle(n) != nullptr, а второй, внутренний, исполняется только если первый true, и он проверяет, что GetUncle(n)->color == REDCC
CC
EP
CC
EP
CC
CC
EP
CC