int walk_FL(LLIST** ,int (*)(LLIST
**) )
int walk_LF(LLIST** ,int (*)(LLIST
**) )
- Fonction qui parcours la liste P1 et déplace
le curseur du 1er au dernier élément ( walk_FL ) ou du dernier
au premier ( walk_LF ). Pour chaque élément la fonction walk_xx
appelle la fonction F2 (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