Bonjour à tous ,
alors voilà dans le cadre de mon tp de C je dois créer une liste simplement chainée tout ce qu'il y'a de plus générique.
donc on nous demande de créer ces méthodes, et la structure LISTE : donc cela donne :
/* Définition de la structure de liste */
typedef
struct LISTE* LISTE;/* Définition du type ELEMENT */
typedef
void* ELEMENT;/* Structure ITEM */
typedef
struct ITEM{
/* Item Suivant */struct ITEM *pNext;/* Element actuel */ELEMENT *pElement;
} ITEM;
/* Définition de ce qu'est la liste */
struct
LISTE{
/* Sentinelle de début de liste */ITEM *pStartSentinelle;
/* Element actuel */ITEM *pCurrentElement;
/* Nombre d'éléments dans la liste */int Count;};
LISTE *creer();
void detruire(LISTE*liste);
int nbElements(LISTE*liste);
short estVide(LISTE*liste);
ELEMENT *valeurDe(LISTE* liste);
int supprimer(LISTE*liste)
int modifier(LISTE *liste, ELEMENT* elt);
int inserer(LISTE *liste, ELEMENT* elt);
int avancer(LISTE*liste);
short auBout(LISTE*liste);
short auDebut(LISTE *liste);
void allerEnTete(LISTE *liste);
void allerEnDernier(LISTE *liste);
------------------------ Les méthodes du dessus sont opérationnelles --------------------------------------------
int chercher(LISTE *liste, ELEMENT* elt, short(*idem)(ELEMENT *elt1, ELEMENT *elt2));
// Place le curseur sur l'élément de la liste qui vérifie la fonction idem() d'égalité entre l'élément actuel et elt.
// La ou les fonctions idem() seront définies dans le code utilisateur de la bibliothèque. Ces fonctions retournent la valeur 1 quand
// les éléments elt1 et elt2 sont jugées identiques, 0 sinon
void executer(LISTE*liste, void(*f)(ELEMENT*))
// demande l'exécution de la fonction f() sur tous les éléments de la liste. Le curseur ne change pas de valeur. La ou les fonctions
// f() seront définies dans le code de l'utilisateur de la bibliothèque.
Dans ma bib, ce sont ces 2 dernières méthodes que je ne comprends pas du tout. A quoi servent-elles ? pourrais-je avoir un exemple de ce type d'utilisation ?
Merci d'avance...