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

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

#include <stdbool.h>

Aller au code source de ce fichier.

Structures de données

struct  character_list_elmt_t
 Type de données pour représenter un maillon d'une liste chainée contenant des char Plus de détails...
 
struct  character_list_t
 Type de données pour représenter une liste chainée contenant des char Plus de détails...
 

Définitions de type

typedef struct character_list_elmt_t character_list_elmt_t
 Type de données pour représenter un maillon d'une liste chainée contenant des char
 
typedef struct character_list_t character_list_t
 Type de données pour représenter une liste chainée contenant des char
 

Fonctions

void character_list_init (character_list_t *list)
 Initialisation d'une nouvelle liste chainée.
 
void character_list_destroy (character_list_t *list)
 Destruction d'une liste chainée.
 
int character_list_ins_next (character_list_t *list, character_list_elmt_t *element, char data)
 Insertion dans une liste chainée.
 
int character_list_rem_next (character_list_t *list, character_list_elmt_t *element, char *data)
 Suppression dans une liste chainée.
 
int character_list_size (character_list_t *list)
 Accesseur sur la taille de la liste.
 
character_list_elmt_tcharacter_list_head (character_list_t *list)
 Accesseur sur le premier élément de la liste.
 
character_list_elmt_tcharacter_list_tail (character_list_t *list)
 Accesseur sur le dernier élément de la liste.
 
bool character_list_is_head (character_list_t *list, character_list_elmt_t *element)
 Prédicat pour tester si un élément est le premier maillon d'une liste chaînée.
 
bool character_list_is_tail (character_list_elmt_t *element)
 Prédicat pour tester si un élément est le dernier maillon d'une liste chaînée.
 
char character_list_data (character_list_elmt_t *element)
 Accesseur sur la donnée contenue dans un élément d'une liste chaînée.
 
character_list_elmt_tcharacter_list_next (character_list_elmt_t *element)
 Accesseur sur le successeur d'un élément.
 

Description détaillée

Liste chainée contenant des valeurs de type char

Documentation des définitions de type

◆ character_list_elmt_t

typedef struct character_list_elmt_t character_list_elmt_t

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

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

◆ character_list_t

typedef struct character_list_t character_list_t

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

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

◆ character_list_data()

char character_list_data ( character_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 character_list_elmt_t
Renvoie
la valeur de la donnée du type char contenu dans l'élément

◆ character_list_destroy()

void character_list_destroy ( character_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 character_list_t

◆ character_list_head()

character_list_elmt_t * character_list_head ( character_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 character_list_t
Renvoie
l'adresse du premier élément ou NULL si la chaine est vide

◆ character_list_init()

void character_list_init ( character_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 character_list_t

◆ character_list_ins_next()

int character_list_ins_next ( character_list_t * list,
character_list_elmt_t * element,
char 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 character_list_t
elementun pointeur vers la structure de donnée maillon character_list_elmt_t
dataune valeur de type char à 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)

◆ character_list_is_head()

bool character_list_is_head ( character_list_t * list,
character_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 character_list_t
elementest un pointeur vers une structure de données character_list_elmt_t
Renvoie
un booléen indiquant vrai si element est le premier élement de list ou faux sinon

◆ character_list_is_tail()

bool character_list_is_tail ( character_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 character_list_t
elementest un pointeur vers une structure de données character_list_elmt_t
Renvoie
un booléen indiquant vrai si element est le dernier élement de list ou faux sinon

◆ character_list_next()

character_list_elmt_t * character_list_next ( character_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 character_list_elmt_t
Renvoie
la valeur du pointeur du prochain élément ou NULL s'il n'y a pas de successeur

◆ character_list_rem_next()

int character_list_rem_next ( character_list_t * list,
character_list_elmt_t * element,
char * 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 character_list_t
elementun pointeur vers la structure de donnée maillon character_list_elmt_t
dataun pointeur de type char 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)

◆ character_list_size()

int character_list_size ( character_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 character_list_t
Renvoie
un entier indiquant la taille de la liste

◆ character_list_tail()

character_list_elmt_t * character_list_tail ( character_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 character_list_t
Renvoie
l'adresse du dernier élément ou NULL si la chaine est vide