libin103 1.4
Bibliothèque de structures de données en C
Chargement...
Recherche...
Aucune correspondance
generic_bitree.h
Aller à la documentation de ce fichier.
1
8/*****************************************************************************
9* *
10* ------------------------------- bitree.h ------------------------------- *
11* *
12*****************************************************************************/
13
14#ifndef GENERIC_BITREE_H
15#define GENERIC_BITREE_H
16
17#include <stdlib.h>
18#include <stdbool.h>
19
20/*****************************************************************************
21* *
22* Define a structure for binary tree nodes. *
23* *
24*****************************************************************************/
25
35
36/*****************************************************************************
37* *
38* Define a structure for binary trees. *
39* *
40*****************************************************************************/
41
44typedef struct generic_bitree_t {
45 int size;
46 int (*compare)(const void *key1, const void *key2);
51 void* (*build)(const void *data);
54 void (*destroy)(void *data);
59
60/*****************************************************************************
61* *
62* --------------------------- Public Interface --------------------------- *
63* *
64*****************************************************************************/
65
86 int (*compare)(const void *key1, const void *key2),
87 void* (*build)(const void *data),
88 void (*destroy)(void *data));
89
100
123 const void *data);
124
149 const void *data);
150
170
190
216 generic_bitree_t *left,
217 generic_bitree_t *right,
218 const void *data);
219
230
242
253
265
275
288
301
302#endif
void generic_bitree_rem_right(generic_bitree_t *tree, generic_bitreenode_t *node)
Suppression d'un sous arbre en position fils droit dans un arbre binaire à une position donnée.
generic_bitreenode_t * generic_bitree_right(generic_bitreenode_t *node)
Accesseur pour récupérer le fils droit d'un noeud.
generic_bitreenode_t * generic_bitree_left(generic_bitreenode_t *node)
Accesseur pour récupérer le fils gauche d'un noeud.
int generic_bitree_merge(generic_bitree_t *merge, generic_bitree_t *left, generic_bitree_t *right, const void *data)
Fusion de deux arbres binaires.
void generic_bitree_init(generic_bitree_t *tree, int(*compare)(const void *key1, const void *key2), void *(*build)(const void *data), void(*destroy)(void *data))
Initialisation d'un nouvel arbre binaire générique.
struct generic_bitree_t generic_bitree_t
Type de données pour l'arbre binaire générique.
int generic_bitree_ins_left(generic_bitree_t *tree, generic_bitreenode_t *node, const void *data)
Insertion d'un noeud en position fils gauche dans un arbre binaire à une position donnée.
bool generic_bitree_is_eob(generic_bitreenode_t *node)
Test si un noeud est la fin du branche.
int generic_bitree_ins_right(generic_bitree_t *tree, generic_bitreenode_t *node, const void *data)
Insertion d'un noeud en position fils droit dans un arbre binaire à une position donnée.
int generic_bitree_size(generic_bitree_t *tree)
Accesseur pour la taille de l'arbre binaire.
void * generic_bitree_data(generic_bitreenode_t *node)
Accesseur pour récupérer la valeur stockée dans un noeud.
struct generic_bitreenode_t generic_bitreenode_t
Type de données pour un noeud de l'arbre binaire stockant des valeurs de type void*
void generic_bitree_rem_left(generic_bitree_t *tree, generic_bitreenode_t *node)
Suppression d'un sous arbre en position fils gauche dans un arbre binaire à une position donnée.
void generic_bitree_destroy(generic_bitree_t *tree)
Destruction d'un arbre binaire.
generic_bitreenode_t * generic_bitree_root(generic_bitree_t *tree)
Accesseur pour récupérer la racine.
bool generic_bitree_is_leaf(generic_bitreenode_t *node)
Test si un noeud est une feuille.
Type de données pour l'arbre binaire générique.
Definition generic_bitree.h:44
generic_bitreenode_t * root
Definition generic_bitree.h:57
void(* destroy)(void *data)
Definition generic_bitree.h:54
int size
Definition generic_bitree.h:45
int(* compare)(const void *key1, const void *key2)
Definition generic_bitree.h:46
Type de données pour un noeud de l'arbre binaire stockant des valeurs de type void*
Definition generic_bitree.h:29
struct generic_bitreenode_t * right
Definition generic_bitree.h:32
struct generic_bitreenode_t * left
Definition generic_bitree.h:31
void * data
Definition generic_bitree.h:30