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

Liste chainée contenant des valeurs de type int Plus de détails...

#include <stdbool.h>

Aller au code source de ce fichier.

Structures de données

struct  integer_list_elmt_t
 Type de données pour représenter un maillon d'une liste chainée contenant des int Plus de détails...
 
struct  integer_list_t
 Type de données pour représenter une liste chainée contenant des int Plus de détails...
 

Définitions de type

typedef struct integer_list_elmt_t integer_list_elmt_t
 Type de données pour représenter un maillon d'une liste chainée contenant des int
 
typedef struct integer_list_t integer_list_t
 Type de données pour représenter une liste chainée contenant des int
 

Fonctions

void integer_list_init (integer_list_t *list)
 Initialisation d'une nouvelle liste chainée.
 
void integer_list_destroy (integer_list_t *list)
 Destruction d'une liste chainée.
 
int integer_list_ins_next (integer_list_t *list, integer_list_elmt_t *element, int data)
 Insertion dans une liste chainée.
 
int integer_list_rem_next (integer_list_t *list, integer_list_elmt_t *element, int *data)
 Suppression dans une liste chainée.
 
int integer_list_size (integer_list_t *list)
 Accesseur sur la taille de la liste.
 
integer_list_elmt_tinteger_list_head (integer_list_t *list)
 Accesseur sur le premier élément de la liste.
 
integer_list_elmt_tinteger_list_tail (integer_list_t *list)
 Accesseur sur le dernier élément de la liste.
 
bool integer_list_is_head (integer_list_t *list, integer_list_elmt_t *element)
 Prédicat pour tester si un élément est le premier maillon d'une liste chaînée.
 
bool integer_list_is_tail (integer_list_elmt_t *element)
 Prédicat pour tester si un élément est le dernier maillon d'une liste chaînée.
 
int integer_list_data (integer_list_elmt_t *element)
 Accesseur sur la donnée contenue dans un élément d'une liste chaînée.
 
integer_list_elmt_tinteger_list_next (integer_list_elmt_t *element)
 Accesseur sur le successeur d'un élément.
 

Description détaillée

Liste chainée contenant des valeurs de type int

Documentation des définitions de type

◆ integer_list_elmt_t

typedef struct integer_list_elmt_t integer_list_elmt_t

Type de données pour représenter un maillon d'une liste chainée contenant des int

Une liste chainée est composée de plusieurs maillons. Chacun contient une données et un pointeur vers le prochain maillon

◆ integer_list_t

typedef struct integer_list_t integer_list_t

Type de données pour représenter une liste chainée contenant des int

Une liste chainée permet un accès direct à la taille (nombre d'éléments de la chaine), vers le premier élément et vers le dernier élément.

Documentation des fonctions

◆ integer_list_data()

int integer_list_data ( integer_list_elmt_t * element)

Accesseur sur la donnée contenue dans un élément d'une liste chaînée.

Etant donné un pointeur vers un élément d'une liste chaînée, retourne la valeur de la donnée stockée dans cet élément

Paramètres
elementest un pointeur vers la structure de données integer_list_elmt_t
Renvoie
la valeur de la donnée du type int contenu dans l'élément

◆ integer_list_destroy()

void integer_list_destroy ( integer_list_t * list)

Destruction d'une liste chainée.

Parcours la liste pour détruire chaque maillon

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t

◆ integer_list_head()

integer_list_elmt_t * integer_list_head ( integer_list_t * list)

Accesseur sur le premier élément de la liste.

Etant donné un pointeur vers une liste chainée, retourne la valeur du pointeur sur l'élément en tête

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t
Renvoie
l'adresse du premier élément ou NULL si la chaine est vide

◆ integer_list_init()

void integer_list_init ( integer_list_t * list)

Initialisation d'une nouvelle liste chainée.

Met à zéro la taille et à NULL les pointeurs vers le premier et le dernier élément de la liste

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t

◆ integer_list_ins_next()

int integer_list_ins_next ( integer_list_t * list,
integer_list_elmt_t * element,
int data )

Insertion dans une liste chainée.

Etant donné un pointeur vers une liste chainée et un pointeur vers un élément de cette liste, ajout d'un nouvel élément après l'élément passé en argument. Si element est le pointeur NULL alors l'insertion se fait en tête.

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t
elementun pointeur vers la structure de donnée maillon integer_list_elmt_t
dataune valeur de type int à ajouter dans la liste dans un nouveau maillon
Renvoie
un entier indiquant si tout c'est bien passé (0 si ok, -1 en cas de problème d'allocation mémoire)

◆ integer_list_is_head()

bool integer_list_is_head ( integer_list_t * list,
integer_list_elmt_t * element )

Prédicat pour tester si un élément est le premier maillon d'une liste chaînée.

Etant donné un pointeur vers une liste chainée et un pointeur vers un élément, indique si l'élément est l'élément de tête de la liste

Paramètres
listest un pointeur vers une structure de données liste chainée integer_list_t
elementest un pointeur vers une structure de données integer_list_elmt_t
Renvoie
un booléen indiquant vrai si element est le premier élement de list ou faux sinon

◆ integer_list_is_tail()

bool integer_list_is_tail ( integer_list_elmt_t * element)

Prédicat pour tester si un élément est le dernier maillon d'une liste chaînée.

Etant donné un pointeur vers une liste chainée et un pointeur vers un élément, indique si l'élément est l'élément de queue de la liste

Paramètres
listest un pointeur vers une structure de données liste chainée integer_list_t
elementest un pointeur vers une structure de données integer_list_elmt_t
Renvoie
un booléen indiquant vrai si element est le dernier élement de list ou faux sinon

◆ integer_list_next()

integer_list_elmt_t * integer_list_next ( integer_list_elmt_t * element)

Accesseur sur le successeur d'un élément.

Etant donné un pointeur vers un élément d'une liste chaînée, retourne la valeur du pointeur vers le prochain élément de la liste.

Paramètres
elementest un pointeur vers la structure de données integer_list_elmt_t
Renvoie
la valeur du pointeur du prochain élément ou NULL s'il n'y a pas de successeur

◆ integer_list_rem_next()

int integer_list_rem_next ( integer_list_t * list,
integer_list_elmt_t * element,
int * data )

Suppression dans une liste chainée.

Etant donné un pointeur vers une liste chainée et un pointeur vers un élément de cette liste, suppression de l'élément après l'élément passé en argument. Si element est le pointeur NULL alors la suppression se fait en tête.

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t
elementun pointeur vers la structure de donnée maillon integer_list_elmt_t
dataun pointeur de type int pour récupérer la donnée associée à l'élément supprimé
Renvoie
un entier indiquant si tout c'est bien passé (0 si ok, -1 en cas de problème mémoire)

◆ integer_list_size()

int integer_list_size ( integer_list_t * list)

Accesseur sur la taille de la liste.

Etant donné un pointeur vers une liste chainée, retourne la valeur du champ size

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t
Renvoie
un entier indiquant la taille de la liste

◆ integer_list_tail()

integer_list_elmt_t * integer_list_tail ( integer_list_t * list)

Accesseur sur le dernier élément de la liste.

Etant donné un pointeur vers une liste chainée, retourne la valeur du pointeur sur l'élément en queue

Paramètres
listest un pointeur vers la structure de données liste chainée integer_list_t
Renvoie
l'adresse du dernier élément ou NULL si la chaine est vide