Skip to content
Snippets Groups Projects
Commit ac292697 authored by vitawrap's avatar vitawrap
Browse files

Trees: oublis

parent 2bbff190
Branches
Tags
No related merge requests found
......@@ -353,7 +353,7 @@ static struct tree_node_t * insert_into_tree_node(struct tree_node_t * curr, voi
// 6 cas
int FEX = get_bfactor(curr);
if(FEX == 2)
if(FEX > 1)
{
int FEY = get_bfactor(get_left(curr));
if(FEY == 1 || FEY == 0)
......@@ -366,7 +366,7 @@ static struct tree_node_t * insert_into_tree_node(struct tree_node_t * curr, voi
curr = rotate_right(curr);
}
}
else if(FEX == -2)
else if(FEX < -1)
{
int FEY = get_bfactor(get_right(curr));
if(FEY == -1 || FEY == 0)
......@@ -508,7 +508,7 @@ static struct tree_node_t * remove_tree_node(struct tree_node_t * curr, void * k
// 6 cas
int FEX = get_bfactor(curr);
if(FEX == 2)
if(FEX > 1)
{
int FEY = get_bfactor(get_left(curr));
if(FEY == 1 || FEY == 0)
......@@ -521,7 +521,7 @@ static struct tree_node_t * remove_tree_node(struct tree_node_t * curr, void * k
curr = rotate_right(curr);
}
}
else if(FEX == -2)
else if(FEX < -1)
{
int FEY = get_bfactor(get_right(curr));
if(FEY == -1 || FEY == 0)
......@@ -544,7 +544,7 @@ static struct tree_node_t * remove_tree_node(struct tree_node_t * curr, void * k
*/
void * tree_remove(struct tree_t * T, void * key) {
void* data = NULL;
struct tree_node_t* node = remove_tree_node(get_root(T), key, &data, 0, T->preceed);
struct tree_node_t* node = remove_tree_node(get_root(T), key, &data, tree_is_balanced(T), T->preceed);
if (node)
{
T->freeKey(key);
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment