Skip to content
Snippets Groups Projects
Verified Commit ca3e2023 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

fixed tree_t -> node *

parent 21355279
Branches
No related tags found
No related merge requests found
...@@ -39,7 +39,7 @@ parcours_postfixe(arbre a) ...@@ -39,7 +39,7 @@ parcours_postfixe(arbre a)
visiter(a) visiter(a)
``` ```
## Rappel: parcours (préfixe, RGD) # Rappel: parcours (préfixe, RGD)
. . . . . .
...@@ -106,9 +106,8 @@ typedef struct _node { ...@@ -106,9 +106,8 @@ typedef struct _node {
struct _node* left; struct _node* left;
struct _node* right; struct _node* right;
} node; } node;
typedef node* tree_t; node * search(key_t key, node * tree) {
tree_t search(key_t key, tree_t tree) { node * current = tree;
tree_t current = tree;
while (NULL != current) { while (NULL != current) {
if (current->key > X) { if (current->key > X) {
current = current->gauche; current = current->gauche;
...@@ -127,7 +126,7 @@ tree_t search(key_t key, tree_t tree) { ...@@ -127,7 +126,7 @@ tree_t search(key_t key, tree_t tree) {
Écrire le code de la fonction Écrire le code de la fonction
```C ```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 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. ...@@ -139,7 +138,7 @@ additionné au nombre de nœuds dans le sous-arbre de droite.
. . . . . .
```C ```C
int arbre_size(tree_t tree) { int arbre_size(node * tree) {
if (NULL == tree) { if (NULL == tree) {
return 0; return 0;
} else { } else {
...@@ -238,11 +237,11 @@ ajout(arbre, clé) ...@@ -238,11 +237,11 @@ ajout(arbre, clé)
. . . . . .
```C ```C
tree_t position(tree_t tree, key_t key) { node * position(node * tree, key_t key) {
tree_t current = tree; node * current = tree;
if (NULL != current) { if (NULL != current) {
tree_t subtree = key > current->key ? current->right : node * subtree = key > current->key ? current->right :
current->left; current->left;
while (key != current->key && NULL != subtree) { while (key != current->key && NULL != subtree) {
current = subtree; current = subtree;
subtree = key > current->key ? current->right : subtree = key > current->key ? current->right :
...@@ -289,13 +288,13 @@ rien ajout(arbre, clé) ...@@ -289,13 +288,13 @@ rien ajout(arbre, clé)
. . . . . .
```C ```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)); node_t *new_node = calloc(1, sizeof(*new_node));
new_node->key = key; new_node->key = key;
if (NULL == *tree) { if (NULL == *tree) {
*tree = new_node; *tree = new_node;
} else { } else {
tree_t subtree = position(*tree, key); node * subtree = position(*tree, key);
if (key == subtree->key) { if (key == subtree->key) {
return NULL; return NULL;
} else { } else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment