Skip to content
Snippets Groups Projects
Commit b4f397c3 authored by pierre.kunzli's avatar pierre.kunzli
Browse files

correction de l'algo de recherche de parent, mais mieux

parent 72d5729e
Branches
No related tags found
5 merge requests!6Pk,!5Pk,!4correction recherche parent et ajout sauts slides,!3Re re correction recherche,!2Nouvelle correction de l'algo de recherche
Pipeline #15712 passed
...@@ -877,16 +877,12 @@ int arbre_size(tree_t tree) { ...@@ -877,16 +877,12 @@ int arbre_size(tree_t tree) {
``` ```
arbre position(arbre, clé) arbre position(arbre, clé)
si est_non_vide(arbre) si est_non_vide(arbre)
si clé < clé(arbre)
suivant = gauche(arbre)
sinon
suivant = droite(arbre)
tant que clé(arbre) != clé && est_non_vide(suivant) tant que clé(arbre) != clé && est_non_vide(suivant)
arbre = suivant
si clé < clé(arbre) si clé < clé(arbre)
suivant = gauche(arbre) suivant = gauche(arbre)
sinon sinon
suivant = droite(arbre) suivant = droite(arbre)
arbre = suivant
returne arbre returne arbre
``` ```
...@@ -921,12 +917,10 @@ ajout(arbre, clé) ...@@ -921,12 +917,10 @@ ajout(arbre, clé)
tree_t position(tree_t tree, key_t key) { tree_t position(tree_t tree, key_t key) {
tree_t current = tree; tree_t current = tree;
if (NULL != current) { if (NULL != current) {
tree_t subtree = key > current->key ? current->right :
current->left;
while (key != current->key && NULL != subtree) { while (key != current->key && NULL != subtree) {
current = subtree;
subtree = key > current->key ? current->right : subtree = key > current->key ? current->right :
current->left; current->left;
current = subtree;
} }
} }
return current; return current;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment