Structure de données d'arbre binaire contenant des valeurs de type double .
Plus de détails...
#include <stdlib.h>
#include <stdbool.h>
Aller au code source de ce fichier.
|
typedef struct real_bitreenode_t | real_bitreenode_t |
| Type de données pour un noeud de l'arbre binaire stockant des valeurs de type double
|
|
typedef struct real_bitree_t | real_bitree_t |
| Type de données pour l'arbre binaire.
|
|
Structure de données d'arbre binaire contenant des valeurs de type double .
◆ real_bitree_t
typedef struct real_bitree_t real_bitree_t |
Type de données pour l'arbre binaire.
◆ real_bitreenode_t
typedef struct real_bitreenode_t real_bitreenode_t |
Type de données pour un noeud de l'arbre binaire stockant des valeurs de type double
◆ real_bitree_data()
Accesseur pour récupérer la valeur stockée dans un noeud.
- Paramètres
-
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud pour lequel on veut la valeur |
- Renvoie
- la valeur de type double stockée dans node
◆ real_bitree_destroy()
Destruction d'un arbre binaire.
Met à zéro la taille et à NULL le pointeur vers la racine après avoir parcourus l'arbre pour détruire tous les noeuds en utilisant les fonctions real_bitree_ins_left et real_bitree_ins_right.
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre |
◆ real_bitree_init()
Initialisation d'un nouvel arbre binaire.
Met à zéro la taille et à NULL le pointeur vers la racine
- Paramètres
-
◆ real_bitree_ins_left()
Insertion d'un noeud en position fils gauche dans un arbre binaire à une position donnée.
- On trouve la bonne position où insérer
- si node == NULL alors on ajoute un fils gauche à la racine si emplacement vide autrement erreur
- si node != NULL alors on ajoute un fils gauche au noeud node si emplacement vide autrement erreur
- On alloue un nouveau noeud et on y stocke la valeur de data
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre |
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud auquel ajouté un fils gauche |
data | la valeur à stocker dans le fils gauche créé |
- Renvoie
- une valeur entière indiquant si tout s'est bien passé (0 pour ok, -1 pour erreur)
◆ real_bitree_ins_right()
Insertion d'un noeud en position fils droit dans un arbre binaire à une position donnée.
- On trouve la bonne position où insérer
- si node == NULL alors on ajoute un fils droit à la racine si emplacement vide autrement erreur
- si node != NULL alors on ajoute un fils droit au noeud node si emplacement vide autrement erreur
- On alloue un nouveau noeud et on y stocke la valeur de data
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre |
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud auquel ajouté un fils droit |
data | la valeur à stocker dans le fils droit créé |
- Renvoie
- une valeur entière indiquant si tout s'est bien passé (0 pour ok, -1 pour erreur)
◆ real_bitree_is_eob()
Test si un noeud est la fin du branche.
Vérifie si le noeud est NULL ou pas
- Paramètres
-
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud à tester |
- Renvoie
- la valeur booléenne indiquant si node est NULL ou pas
◆ real_bitree_is_leaf()
Test si un noeud est une feuille.
Vérifie que le fils gauche et le fils droit d'un noeud sont NULL
- Paramètres
-
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud à tester |
- Renvoie
- la valeur booléenne indiquant si node est une feuille ou pas
◆ real_bitree_left()
Accesseur pour récupérer le fils gauche d'un noeud.
Donne le pointeur vers le noeud fils gauche
- Paramètres
-
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud pour lequel on veut le fils gauche |
- Renvoie
- le pointeur vers la structure real_bitreenode_t associée au fils gauche
◆ real_bitree_merge()
Fusion de deux arbres binaires.
- Initialisation du nouvel arbre merge
- Insertion de la donnée data dans ce nouvel arbre (à la racine)
- Ajout d'un fils gauche avec left et d'un fils droit right
- Mise à jour de la taille du nouvel arbre
- Paramètres
-
merge | est un pointeur vers la structure de données real_bitree_t contenant l'arbre issu de la fusion de left et right |
left | est un pointeur vers la structure de données real_bitree_t représentant un arbre binaire qui sera en position sous arbre gauche dans la fusion |
right | est un pointeur vers la structure de données real_bitree_t représentant un arbre binaire qui sera en position sous arbre droit dans la fusion |
data | valeur de type double qui sera stockée à la racine de l'arbre binaire issue de la fusion |
- Renvoie
- une valeur entière indiquant si tout s'est bien passé (0 pour ok, -1 pour erreur)
◆ real_bitree_rem_left()
Suppression d'un sous arbre en position fils gauche dans un arbre binaire à une position donnée.
- On trouve la bonne position où insérer
- si node == NULL alors on supprime le sous arbre gauche de la racine
- si node != NULL alors on supprime le sous arbre gauche du noeud node
- Récursion pour supprimer tous les noeuds jusqu'aux feuilles en utilisant les fonctions real_bitree_rem_left et real_bitree_rem_right
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre |
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud auquel il faut supprimer le sous-arbre gauche |
◆ real_bitree_rem_right()
Suppression d'un sous arbre en position fils droit dans un arbre binaire à une position donnée.
- On trouve la bonne position où insérer
- si node == NULL alors on supprime le sous arbre droit de la racine
- si node != NULL alors on supprime le sous arbre droit du noeud node
- Récursion pour supprimer tous les noeuds jusqu'aux feuilles en utilisant les fonctions real_bitree_rem_left et real_bitree_rem_right
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre |
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud auquel il faut supprimer le sous-arbre droit |
◆ real_bitree_right()
Accesseur pour récupérer le fils droit d'un noeud.
Donne le pointeur vers le noeud fils droit
- Paramètres
-
node | est un pointeur vers la structure de données real_bitreenode_t représentant le noeud pour lequel on veut le fils droit |
- Renvoie
- le pointeur vers la structure real_bitreenode_t associée au fils droit
◆ real_bitree_root()
Accesseur pour récupérer la racine.
Donne le pointeur vers le noeud racine
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre binaire |
- Renvoie
- le pointeur vers la structure real_bitreenode_t associée à la racine
◆ real_bitree_size()
Accesseur pour la taille de l'arbre binaire.
Donne le nombre de noeud dans l'arbre binaire
- Paramètres
-
tree | est un pointeur vers la structure de données real_bitree_t contenant la racine de l'arbre binaire |
- Renvoie
- une valeur entière indiquant la taille