Skip to content
Snippets Groups Projects

Re re correction recherche

Merged pierre.kunzli requested to merge pk into master
1 unresolved thread
1 file
+ 7
7
Compare changes
  • Side-by-side
  • Inline
+ 7
7
@@ -877,18 +877,18 @@ int arbre_size(tree_t tree) {
@@ -877,18 +877,18 @@ 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)
si clé < clé(arbre)
suivant = gauche(arbre)
sinon
suivant = droite(arbre)
arbre = 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)
returne arbre
retourne arbre
```
```
# Pseudocode d'insertion (2/2)
# Pseudocode d'insertion (2/2)
@@ -922,9 +922,9 @@ ajout(arbre, clé)
@@ -922,9 +922,9 @@ 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) {
subtree = key > current->key ? current->right :
current->left;
current = subtree;
current = subtree;
subtree = key > current->key ? current->right :
subtree = key > current->key ? current->right :
current->left;
current->left;
Loading