libin103 1.4
Bibliothèque de structures de données en C
|
Ensemble générique contenant des valeurs de type void* Plus de détails...
Aller au code source de ce fichier.
Définitions de type | |
typedef generic_list_t | generic_set_t |
Type de données pour représenter un ensemble générique contenant des valeurs de type void* | |
Fonctions | |
void | generic_set_init (generic_set_t *set, int(*compare)(const void *key1, const void *key2), void *(*build)(const void *data), void(*destroy)(void *data)) |
Initialisation d'un nouvel ensemble générique contenant des valeurs de type void* | |
void | generic_set_destroy (generic_set_t *set) |
Destruction d'un ensemble. | |
int | generic_set_insert (generic_set_t *set, const void *data) |
Ajouter un élément de type void* dans l'ensemble. | |
int | generic_set_remove (generic_set_t *set, void **data) |
Supprimer un élément de type void* dans l'ensemble. | |
int | generic_set_union (generic_set_t *setu, generic_set_t *set1, generic_set_t *set2) |
Union de deux ensembles. | |
int | generic_set_intersection (generic_set_t *seti, generic_set_t *set1, generic_set_t *set2) |
Intersection de deux ensembles. | |
int | generic_set_difference (generic_set_t *setd, generic_set_t *set1, generic_set_t *set2) |
Différence de deux ensembles. | |
bool | generic_set_is_member (generic_set_t *set, const void *data) |
Fonction testant l'appartenance d'une valeur à un ensemble. | |
bool | generic_set_is_subset (generic_set_t *set1, generic_set_t *set2) |
Fonction testant si un ensemble est sous-ensemble d'un autre. | |
bool | generic_set_is_equal (generic_set_t *set1, generic_set_t *set2) |
Fonction testant si un ensemble est égale à un autre. | |
int | generic_set_size (generic_set_t *set) |
Accesseur sur la taille d'un ensemble. | |
Ensemble générique contenant des valeurs de type void*
typedef generic_list_t generic_set_t |
Type de données pour représenter un ensemble générique contenant des valeurs de type void*
Un ensemble est une liste chaînée gérée de manière adéquate: insertion en queue de liste avec un maintien de la propriété d'unicité des éléments dans l'ensemble.
void generic_set_destroy | ( | generic_set_t * | set | ) |
Destruction d'un ensemble.
Utilise la fonction de destruction des listes chaînées pour parcourir la liste et détruire tous les éléments de l'ensemble.
set | est un pointeur vers la structure de données des ensembles generic_set_t |
int generic_set_difference | ( | generic_set_t * | setd, |
generic_set_t * | set1, | ||
generic_set_t * | set2 ) |
Différence de deux ensembles.
Etant donné un pointeur vers un ensemble et un pointeur vers un autre ensemble, crée un troisième ensemble représentant la différence des deux ensembles, i.e., l'ensemble des éléments appartenant au premier ensemble et pas au second.
setd | l'ensemble résultat de la différence de type generic_set_t |
set1 | premier argument de l'opération d'union de type generic_set_t |
set2 | second argument de l'opération d'union de type generic_set_t |
void generic_set_init | ( | generic_set_t * | set, |
int(*)(const void *key1, const void *key2) | compare, | ||
void *(*)(const void *data) | build, | ||
void(*)(void *data) | destroy ) |
Initialisation d'un nouvel ensemble générique contenant des valeurs de type void*
Utilise la fonction d'initalisation des listes chaînée générique pour mettre à zéro la taille et à NULL les pointeurs vers le premier et le dernier élément de la liste, i.e., de l'ensemble. Cette fonction nécessite une fonction de comparaison des éléments de l'ensemble, une fonction de construction d'un élément de l'ensemble et une fonction de destruction de l'ensemble.
set | est un pointeur vers la structure de données des ensembles generic_set_t |
compare | fonction permettant la comparaison de deux éléments de l'ensemble |
build | fonction permettant la construction d'une valeur de l'ensemble |
destroy | fonction permettant la destruction d'une valeur de l'ensemble |
int generic_set_insert | ( | generic_set_t * | set, |
const void * | data ) |
Ajouter un élément de type void* dans l'ensemble.
Etant donné un pointeur vers un ensemble (représenté par une liste chaînée) et une valeur de type void*, ajoute un nouvel élément à l'ensemble avec cette valeur en maintenant l'unicité de la valeur dans l'ensemble.
set | est un pointeur vers la structure de données generic_set_t @pram data une valeur de type void* à ajouter à la file |
int generic_set_intersection | ( | generic_set_t * | seti, |
generic_set_t * | set1, | ||
generic_set_t * | set2 ) |
Intersection de deux ensembles.
Etant donné un pointeur vers un ensemble et un pointeur vers un autre ensemble, crée un troisième ensemble représentant l'intersection des deux ensembles
seti | l'ensemble résultat de l'intersection de type generic_set_t |
set1 | premier argument de l'opération d'union de type generic_set_t |
set2 | second argument de l'opération d'union de type generic_set_t |
bool generic_set_is_equal | ( | generic_set_t * | set1, |
generic_set_t * | set2 ) |
Fonction testant si un ensemble est égale à un autre.
Etant donné un pointeur vers un ensemble et un pointeur vers un second ensemble indique si le premier ensemble est égale au second, i.e., tous les élements du premier ensemble sont dans le second et réciproquement
set1 | ensemble de type generic_set_t |
set2 | ensemble de type generic_set_t |
bool generic_set_is_member | ( | generic_set_t * | set, |
const void * | data ) |
Fonction testant l'appartenance d'une valeur à un ensemble.
Etant donné un pointeur vers un ensemble et une valeur indique si cette valeur est dans l'ensembe ou non
set | ensemble de type generic_set_t |
data | valeur de type void* que l'on souhaite tester la présence dans set |
bool generic_set_is_subset | ( | generic_set_t * | set1, |
generic_set_t * | set2 ) |
Fonction testant si un ensemble est sous-ensemble d'un autre.
Etant donné un pointeur vers un ensemble et un pointeur vers un second ensemble indique si le premier ensemble est inclus dans le second, i.e., tous les élements du premier ensemble sont dans le second.
set1 | ensemble de type generic_set_t |
set2 | ensemble de type generic_set_t |
int generic_set_remove | ( | generic_set_t * | set, |
void ** | data ) |
Supprimer un élément de type void* dans l'ensemble.
Etant donné un pointeur vers un ensemble (représenté par une liste chaînée) et un pointeur vers une valeur de type void*, supprime l'élément de l'ensemble.
set | est un pointeur vers la structure de données generic_set_t @pram data est pointeur vers une variable de type void* qui représente la valeur à supprimer |
int generic_set_size | ( | generic_set_t * | set | ) |
Accesseur sur la taille d'un ensemble.
Etant donné un pointeur vers un ensemble (représentée par une liste chaînée), retourne la valeur du champ size
set | est un pointeur vers la structure de données generic_set_t |
int generic_set_union | ( | generic_set_t * | setu, |
generic_set_t * | set1, | ||
generic_set_t * | set2 ) |
Union de deux ensembles.
Etant donné un pointeur vers un ensemble et un pointeur vers un autre ensemble, crée un troisième ensemble représentant l'union des deux ensembles
setu | l'ensemble résultat de l'union de type generic_set_t |
set1 | premier argument de l'opération d'union de type generic_set_t |
set2 | second argument de l'opération d'union de type generic_set_t |