From ca3e2023b118b1108714e1742199c3a8b6e02030 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Tue, 12 Mar 2024 08:24:10 +0100 Subject: [PATCH] fixed tree_t -> node * --- slides/cours_17.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/slides/cours_17.md b/slides/cours_17.md index 37ee2cf..f6a9b22 100644 --- a/slides/cours_17.md +++ b/slides/cours_17.md @@ -39,7 +39,7 @@ parcours_postfixe(arbre a) visiter(a) ``` -## Rappel: parcours (préfixe, RGD) +# Rappel: parcours (préfixe, RGD) . . . @@ -106,9 +106,8 @@ typedef struct _node { struct _node* left; struct _node* right; } node; -typedef node* tree_t; -tree_t search(key_t key, tree_t tree) { - tree_t current = tree; +node * search(key_t key, node * tree) { + node * current = tree; while (NULL != current) { if (current->key > X) { current = current->gauche; @@ -127,7 +126,7 @@ tree_t search(key_t key, tree_t tree) { Écrire le code de la fonction ```C -int tree_size(tree_t tree); +int tree_size(node * tree); ``` qui retourne le nombre total de nœuds d'un arbre et poster le résultat sur @@ -139,7 +138,7 @@ additionné au nombre de nœuds dans le sous-arbre de droite. . . . ```C -int arbre_size(tree_t tree) { +int arbre_size(node * tree) { if (NULL == tree) { return 0; } else { @@ -238,11 +237,11 @@ ajout(arbre, clé) . . . ```C -tree_t position(tree_t tree, key_t key) { - tree_t current = tree; +node * position(node * tree, key_t key) { + node * current = tree; if (NULL != current) { - tree_t subtree = key > current->key ? current->right : - current->left; + node * subtree = key > current->key ? current->right : + current->left; while (key != current->key && NULL != subtree) { current = subtree; subtree = key > current->key ? current->right : @@ -289,13 +288,13 @@ rien ajout(arbre, clé) . . . ```C -tree_t add_key(tree_t *tree, key_t key) { +node * add_key(node **tree, key_t key) { node_t *new_node = calloc(1, sizeof(*new_node)); new_node->key = key; if (NULL == *tree) { *tree = new_node; } else { - tree_t subtree = position(*tree, key); + node * subtree = position(*tree, key); if (key == subtree->key) { return NULL; } else { -- GitLab