diff --git a/slides/cours_15.md b/slides/cours_15.md index c95c54338d20de857c3c4ff2fc5a56fbd689335d..2cfeaca4e48f85466e661dd5cbf584fcb464e53c 100644 --- a/slides/cours_15.md +++ b/slides/cours_15.md @@ -877,16 +877,12 @@ int arbre_size(tree_t tree) { ``` arbre position(arbre, clé) 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) - arbre = suivant si clé < clé(arbre) suivant = gauche(arbre) sinon suivant = droite(arbre) + arbre = suivant returne arbre ``` @@ -921,12 +917,10 @@ ajout(arbre, clé) tree_t position(tree_t tree, key_t key) { tree_t current = tree; if (NULL != current) { - tree_t subtree = key > current->key ? current->right : - current->left; while (key != current->key && NULL != subtree) { - current = subtree; subtree = key > current->key ? current->right : current->left; + current = subtree; } } return current;