diff --git a/slides/cours_15.md b/slides/cours_15.md index 3818bff7d2bf1e0f0462f48eb6f9611cddf221e1..0cfc64d1aa2ac6ccfc708f19f6a4f889c3d418cc 100644 --- a/slides/cours_15.md +++ b/slides/cours_15.md @@ -877,18 +877,18 @@ 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) - si clé < clé(arbre) - suivant = gauche(arbre) - sinon - suivant = droite(arbre) arbre = suivant si clé < clé(arbre) suivant = gauche(arbre) sinon suivant = droite(arbre) - returne arbre + retourne arbre ``` # Pseudocode d'insertion (2/2) @@ -922,9 +922,9 @@ 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) { - subtree = key > current->key ? current->right : - current->left; current = subtree; subtree = key > current->key ? current->right : current->left;