libin103 1.4
Bibliothèque de structures de données en C
Chargement...
Recherche...
Aucune correspondance
Définitions de type | Fonctions
Référence du fichier integer_set.h

Ensemble contenant des valeurs de type int Plus de détails...

#include <stdlib.h>
#include <stdbool.h>
#include "integer_list.h"

Aller au code source de ce fichier.

Définitions de type

typedef integer_list_t integer_set_t
 Type de données pour représenter un ensemble contenant des valeurs de type int
 

Fonctions

void integer_set_init (integer_set_t *set)
 Initialisation d'un nouvel ensemble contenant des valeurs de type int
 
void integer_set_destroy (integer_set_t *set)
 Destruction d'un ensemble.
 
int integer_set_insert (integer_set_t *set, int data)
 Ajouter un élément de type int dans l'ensemble.
 
int integer_set_remove (integer_set_t *set, int *data)
 Supprimer un élément de type int dans l'ensemble.
 
int integer_set_union (integer_set_t *setu, const integer_set_t *set1, const integer_set_t *set2)
 Union de deux ensembles.
 
int integer_set_intersection (integer_set_t *seti, const integer_set_t *set1, const integer_set_t *set2)
 Intersection de deux ensembles.
 
int integer_set_difference (integer_set_t *setd, const integer_set_t *set1, const integer_set_t *set2)
 Différence de deux ensembles.
 
bool integer_set_is_member (const integer_set_t *set, int data)
 Fonction testant l'appartenance d'une valeur à un ensemble.
 
bool integer_set_is_subset (const integer_set_t *set1, const integer_set_t *set2)
 Fonction testant si un ensemble est sous-ensemble d'un autre.
 
bool integer_set_is_equal (const integer_set_t *set1, const integer_set_t *set2)
 Fonction testant si un ensemble est égale à un autre.
 
int integer_set_size (const integer_set_t *set)
 Accesseur sur la taille d'un ensemble.
 

Description détaillée

Ensemble contenant des valeurs de type int

Documentation des définitions de type

◆ integer_set_t

Type de données pour représenter un ensemble contenant des valeurs de type int

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.

Documentation des fonctions

◆ integer_set_destroy()

void integer_set_destroy ( integer_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.

Paramètres
setest un pointeur vers la structure de données des ensembles integer_set_t

◆ integer_set_difference()

int integer_set_difference ( integer_set_t * setd,
const integer_set_t * set1,
const integer_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.

Paramètres
setdl'ensemble résultat de la différence de type integer_set_t
set1premier argument de l'opération d'union de type integer_set_t
set2second argument de l'opération d'union de type integer_set_t
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème)

◆ integer_set_init()

void integer_set_init ( integer_set_t * set)

Initialisation d'un nouvel ensemble contenant des valeurs de type int

Utilise la fonction d'initalisation des listes chaînée 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

Paramètres
setest un pointeur vers la structure de données des ensembles integer_set_t

◆ integer_set_insert()

int integer_set_insert ( integer_set_t * set,
int data )

Ajouter un élément de type int dans l'ensemble.

Etant donné un pointeur vers un ensemble (représenté par une liste chaînée) et une valeur de type int, ajoute un nouvel élément à l'ensemble avec cette valeur en maintenant l'unicité de la valeur dans l'ensemble.

Paramètres
setest un pointeur vers la structure de données integer_set_t @pram data une valeur de type int à ajouter à la file
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème mémoire)

◆ integer_set_intersection()

int integer_set_intersection ( integer_set_t * seti,
const integer_set_t * set1,
const integer_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

Paramètres
setil'ensemble résultat de l'intersection de type integer_set_t
set1premier argument de l'opération d'union de type integer_set_t
set2second argument de l'opération d'union de type integer_set_t
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème)

◆ integer_set_is_equal()

bool integer_set_is_equal ( const integer_set_t * set1,
const integer_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

Paramètres
set1ensemble de type integer_set_t
set2ensemble de type integer_set_t
Renvoie
une valeur booléenne indiquant si set1 est égale à set2

◆ integer_set_is_member()

bool integer_set_is_member ( const integer_set_t * set,
int 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

Paramètres
setensemble de type integer_set_t
datavaleur de type int que l'on souhaite tester la présence dans set
Renvoie
une valeur booléenne indiquant data appartient à l'ensemble set

◆ integer_set_is_subset()

bool integer_set_is_subset ( const integer_set_t * set1,
const integer_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.

Paramètres
set1ensemble de type integer_set_t
set2ensemble de type integer_set_t
Renvoie
une valeur booléenne indiquant si set1 est inclus dans set2

◆ integer_set_remove()

int integer_set_remove ( integer_set_t * set,
int * data )

Supprimer un élément de type int 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 int, supprime l'élément de l'ensemble.

Paramètres
setest un pointeur vers la structure de données integer_set_t @pram data est pointeur vers une variable de type int qui représente la valeur à supprimer
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème mémoire)

◆ integer_set_size()

int integer_set_size ( const integer_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

Paramètres
setest un pointeur vers la structure de données integer_set_t
Renvoie
un entier indiquant la taille (i.e., le nombre d'éléments) de l'ensemble

◆ integer_set_union()

int integer_set_union ( integer_set_t * setu,
const integer_set_t * set1,
const integer_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

Paramètres
setul'ensemble résultat de l'union de type integer_set_t
set1premier argument de l'opération d'union de type integer_set_t
set2second argument de l'opération d'union de type integer_set_t
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème)