Skip to content
Snippets Groups Projects

Re re correction recherche

Merged pierre.kunzli requested to merge pk into master
1 unresolved thread
1 file
+ 11
4
Compare changes
  • Side-by-side
  • Inline
+ 11
4
@@ -790,7 +790,7 @@ typedef struct _node {
typedef node* tree_t;
tree_t search(key_t key, tree_t tree) {
tree_t current = tree;
while (NULL != current && !success) {
while (NULL != current) {
if (current->key > X) {
current = current->gauche;
} else if (current->key < X){
@@ -877,13 +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)
arbre = suivant
si clé < clé(arbre)
suivant = gauche(arbre)
sinon
suivant = droite(arbre)
arbre = suivant
returne arbre
retourne arbre
```
# Pseudocode d'insertion (2/2)
@@ -917,10 +922,12 @@ 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;
Loading