int Crand(LLIST**,void *)
|
R1
Crand( P1,P2) |
Positionne le curseur de la liste
P1 sur l'élément
recherché
P2.
- En entrée :
- P1 : Adresse d'un pointeur de liste.( LLIST
**).
- P2 : Elément recherché.
- En sortie :
(Voir
codes retour)
- R1 :LOK L'élément existe dans
la liste et le curseur est positionné sur celui-ci.
- R1 :LNOK Ne trouve pas l'élément
ou bien la liste est vide.
- R1 :NLD La liste n'est pas initialisé.
- P2 : si R1 = LOK
alors P2 est égal à l'élément
qui se trouve en liste.
- Remarque :
- Si l'élément recherché se trouve dans la liste le curseur
pointe sur celui-ci , il s'agit d'une recherche séquentielle du premier
vers le dernier. Si l'élément existe plusieurs fois dans la
liste, la fonction positionnera toujours le curseur sur le premier qu'elle
trouve a condition que la clés correspond !!. Au programmeur de savoir
comment il a construit sa liste ( Pour construire une liste ou chaque élément
est unique voir la fonction : luajout ). Si l'on désire connaître
combien de fois un élément se trouve dans la liste voir : lcount.
- La fonction Crand utilise les clés.
Donc il est nécessaire de savoir si l'on travail avec la clés
de la fonction initlist ou une des clés
définies avec la fonction lkey ( voir point
suivant).
- Ne pas oublier de renseigner ( si on travail avec un structure) l'ensemble
des champs faisant partis de la clés.
Garantie:
- Le curseur pointe sur l'élément
de la liste si celui-ci existe.
Voir aussi : exemple 000
Cfirst(LLIST **) Clast(LLIST**) Cnext(LLIST **)
Cdel(LLIST **) Celmt(LLIST **) Cprev(LLIST **)
Cinsl(LLIST **,void *) Cinsr(LLIST **,void *) Crand(LLIST **,void *) Cchange(LLIST **,void *)