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 real_set.h

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

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

Aller au code source de ce fichier.

Définitions de type

typedef real_list_t real_set_t
 Type de données pour représenter un ensemble contenant des valeurs de type double
 

Fonctions

void real_set_init (real_set_t *set)
 Initialisation d'un nouvel ensemble contenant des valeurs de type double
 
void real_set_destroy (real_set_t *set)
 Destruction d'un ensemble.
 
int real_set_insert (real_set_t *set, double data)
 Ajouter un élément de type double dans l'ensemble.
 
int real_set_remove (real_set_t *set, double *data)
 Supprimer un élément de type double dans l'ensemble.
 
int real_set_union (real_set_t *setu, const real_set_t *set1, const real_set_t *set2)
 Union de deux ensembles.
 
int real_set_intersection (real_set_t *seti, const real_set_t *set1, const real_set_t *set2)
 Intersection de deux ensembles.
 
int real_set_difference (real_set_t *setd, const real_set_t *set1, const real_set_t *set2)
 Différence de deux ensembles.
 
bool real_set_is_member (const real_set_t *set, double data)
 Fonction testant l'appartenance d'une valeur à un ensemble.
 
bool real_set_is_subset (const real_set_t *set1, const real_set_t *set2)
 Fonction testant si un ensemble est sous-ensemble d'un autre.
 
bool real_set_is_equal (const real_set_t *set1, const real_set_t *set2)
 Fonction testant si un ensemble est égale à un autre.
 
int real_set_size (const real_set_t *set)
 Accesseur sur la taille d'un ensemble.
 

Description détaillée

Ensemble contenant des valeurs de type double

Documentation des définitions de type

◆ real_set_t

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

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

◆ real_set_destroy()

void real_set_destroy ( real_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 real_set_t

◆ real_set_difference()

int real_set_difference ( real_set_t * setd,
const real_set_t * set1,
const real_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 real_set_t
set1premier argument de l'opération d'union de type real_set_t
set2second argument de l'opération d'union de type real_set_t
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème)

◆ real_set_init()

void real_set_init ( real_set_t * set)

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

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 real_set_t

◆ real_set_insert()

int real_set_insert ( real_set_t * set,
double data )

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

Etant donné un pointeur vers un ensemble (représenté par une liste chaînée) et une valeur de type double, 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 real_set_t @pram data une valeur de type double à 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)

◆ real_set_intersection()

int real_set_intersection ( real_set_t * seti,
const real_set_t * set1,
const real_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 real_set_t
set1premier argument de l'opération d'union de type real_set_t
set2second argument de l'opération d'union de type real_set_t
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème)

◆ real_set_is_equal()

bool real_set_is_equal ( const real_set_t * set1,
const real_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 real_set_t
set2ensemble de type real_set_t
Renvoie
une valeur booléenne indiquant si set1 est égale à set2

◆ real_set_is_member()

bool real_set_is_member ( const real_set_t * set,
double 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 real_set_t
datavaleur de type double que l'on souhaite tester la présence dans set
Renvoie
une valeur booléenne indiquant data appartient à l'ensemble set

◆ real_set_is_subset()

bool real_set_is_subset ( const real_set_t * set1,
const real_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 real_set_t
set2ensemble de type real_set_t
Renvoie
une valeur booléenne indiquant si set1 est inclus dans set2

◆ real_set_remove()

int real_set_remove ( real_set_t * set,
double * data )

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

Paramètres
setest un pointeur vers la structure de données real_set_t @pram data est pointeur vers une variable de type double 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)

◆ real_set_size()

int real_set_size ( const real_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 real_set_t
Renvoie
un entier indiquant la taille (i.e., le nombre d'éléments) de l'ensemble

◆ real_set_union()

int real_set_union ( real_set_t * setu,
const real_set_t * set1,
const real_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 real_set_t
set1premier argument de l'opération d'union de type real_set_t
set2second argument de l'opération d'union de type real_set_t
Renvoie
un entier indiquant si tout s'est bien passé (0 pour OK, et -1 en cas de problème)