К
Size: a a a
К
🎄T
К
🎄T
К
S
O
🎄T
S
S
К
void add(T data)
{
binary_tree<T>* cur = this;
while (cur) {
if (data < cur->m_data) {
if (cur->m_left) {
std::cout << "left" << std::ends;
cur = cur->m_left.get();
}
else {
std::cout << " in left " << data << std::endl;
cur->m_left = std::make_unique<binary_tree<T>>(std::move(data));
break;
}
}
else if (data > cur->m_data) {
if (cur->m_right) {
std::cout << "right" << std::ends;
cur = cur->m_right.get();
}
else {
std::cout << " in right " << data << std::endl;
cur->m_right = std::make_unique<binary_tree<T>>(std::move(data));
break;
}
}
}
}
S
К
🎄T
void add(T data)
{
binary_tree<T>* cur = this;
while (cur) {
if (data < cur->m_data) {
if (cur->m_left) {
std::cout << "left" << std::ends;
cur = cur->m_left.get();
}
else {
std::cout << " in left " << data << std::endl;
cur->m_left = std::make_unique<binary_tree<T>>(std::move(data));
break;
}
}
else if (data > cur->m_data) {
if (cur->m_right) {
std::cout << "right" << std::ends;
cur = cur->m_right.get();
}
else {
std::cout << " in right " << data << std::endl;
cur->m_right = std::make_unique<binary_tree<T>>(std::move(data));
break;
}
}
}
}
К
🎄T
К
🎄T
К