int walk_FLD(LLIST** ,int (*)(void
*) )
int walk_LFD(LLIST** ,int (*)(void
*) )
- Fonction qui parcours la liste P1 et déplace
le curseur du 1er au dernier élément ( walk_FLD ) ou du dernier
au premier ( walk_LFD ) .Pour chaque élément la fonction walk_xxD
appelle la fonction F2 en passant en paramètre l'adresse de l'élément
courant. (tant que la fonction F2 retourne LOK,
si F2 retourne LNOK ou LSTOP cela provoque l'arrêt
du parcours).
-
- En entrée :
- P1 : Adresse d'un pointeur de liste.
- F2 : Adresse d'une fonction de type : int fct(LLIST
**).
- En sortie :
(Voir
codes retour)
- Si R1 < 0 : (Voir
codes retour).
- Si R1 >= 0 nombre d'itération.C'est
à dire ; nombre de fois que la fonction F2
retourne LOK.
- Si R1 =
LNOK ( liste vide => lgrl( P1
) = 0 ).
- Remarque :
- En principe R1 est égal au nombre d'élément
de la liste si F2 retourne toujours LOK.
- Permet de faire un traitement sur tout ou une partie des éléments
de la liste. Ou simplement de faire un trace.
- Si le curseur avait été positionné sur un élément
avant l'appel de la fonction celui restera au même endroit après
l'exécution du walk_xx.
- Garantie:
- Un déplacement du curseur et l'appel de la fonction autant de fois
qu'il y a d'élément dans la liste P1.
Voir aussi :
exemple
008