fixup commit
This commit is contained in:
@@ -43,17 +43,17 @@ private:
|
|||||||
|
|
||||||
void DeleteNode(std::unique_ptr<Node<T>> & node)
|
void DeleteNode(std::unique_ptr<Node<T>> & node)
|
||||||
{
|
{
|
||||||
if(node == nullptr || node->IsLeaf())
|
if(node || node->IsLeaf())
|
||||||
{
|
{
|
||||||
node.release();
|
node.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(node->left == nullptr)
|
if(node->left)
|
||||||
{
|
{
|
||||||
node = std::move(node->right);
|
node = std::move(node->right);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(node->right == nullptr)
|
if(node->right)
|
||||||
{
|
{
|
||||||
node = std::move(node->left);
|
node = std::move(node->left);
|
||||||
}
|
}
|
||||||
@@ -69,7 +69,7 @@ private:
|
|||||||
std::unique_ptr<Node<T>> & FindNode(T const & value)
|
std::unique_ptr<Node<T>> & FindNode(T const & value)
|
||||||
{
|
{
|
||||||
std::unique_ptr<Node<T>> *currentPtr = &root;
|
std::unique_ptr<Node<T>> *currentPtr = &root;
|
||||||
while (*currentPtr != nullptr && (*currentPtr)->value != value)
|
while (*currentPtr && (*currentPtr)->value != value)
|
||||||
{
|
{
|
||||||
if ((*currentPtr)->value > value)
|
if ((*currentPtr)->value > value)
|
||||||
{
|
{
|
||||||
@@ -88,7 +88,7 @@ public:
|
|||||||
void Insert(T const & value)
|
void Insert(T const & value)
|
||||||
{
|
{
|
||||||
std::unique_ptr<Node<T>> *currentPtr = &root;
|
std::unique_ptr<Node<T>> *currentPtr = &root;
|
||||||
while ((*currentPtr) != nullptr)
|
while (*currentPtr)
|
||||||
{
|
{
|
||||||
if ((*currentPtr)->value > value)
|
if ((*currentPtr)->value > value)
|
||||||
{
|
{
|
||||||
@@ -105,7 +105,7 @@ public:
|
|||||||
void InsertNoDuplicates(T const & value)
|
void InsertNoDuplicates(T const & value)
|
||||||
{
|
{
|
||||||
auto & toInsertIn = FindNode(value);
|
auto & toInsertIn = FindNode(value);
|
||||||
if(toInsertIn != nullptr)
|
if(toInsertIn)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -115,13 +115,13 @@ public:
|
|||||||
|
|
||||||
bool Contains(T const & value)
|
bool Contains(T const & value)
|
||||||
{
|
{
|
||||||
return FindNode(value) != nullptr;
|
return static_cast<bool>(FindNode(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Delete(T const & value)
|
void Delete(T const & value)
|
||||||
{
|
{
|
||||||
auto & node = FindNode(value);
|
auto & node = FindNode(value);
|
||||||
if (node == nullptr)
|
if (node)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user