Page 1 sur 1

[RESOLU] Accès direct - Liste Chaînée

Publié : sam. 06/janv./2018 19:21
par omega
Bonsoir à tous

J'ai une liste chaînée qui contient plus de 1000 éléments. Je souhaiterais modifier le contenu d'un élément connu sans être obligé de parcourir l'ensemble des éléments. Est ce possible?
En règle générale, ça se passe de cette façon:

Code : Tout sélectionner

ResetList(MaListe())
 While NextElement(MaListe()) 
    If MaListe()\nom = "Ancien nom"
      MaListe()\nom = "Nouveau nom"     
    EndIf 
  Wend     
 
On parcourt l'ensemble des éléments... l'accès n'est pas direct

Merci

Re: Accès direct - Liste Chaînée

Publié : sam. 06/janv./2018 19:48
par djes
Ce que tu cherches s'appelle une map : http://www.purebasic.com/french/documen ... index.html

Re: Accès direct - Liste Chaînée

Publié : sam. 06/janv./2018 20:53
par Zorro
omega a écrit :Bonsoir à tous

J'ai une liste chaînée qui contient plus de 1000 éléments. Je souhaiterais modifier le contenu d'un élément connu sans être obligé de parcourir l'ensemble des éléments. Est ce possible?
En règle générale, ça se passe de cette façon:

Code : Tout sélectionner

ResetList(MaListe())
 While NextElement(MaListe()) 
    If MaListe()\nom = "Ancien nom"
      MaListe()\nom = "Nouveau nom"     
    EndIf 
  Wend     
 
On parcourt l'ensemble des éléments... l'accès n'est pas direct

Merci

pour parcourir un peut plus vite tu peux aussi faire

Code : Tout sélectionner


Foreach MaListe()
		If MaListe()\nom = "Ancien nom"
				MaListe()\nom = "Nouveau nom"     
		EndIf
Next


on économise 2 fonctions (plus besoin de ResetList(MaListe()) , et plus besoin de NextElement )
c'est toujours ça de gagné :) (ps: marche aussi avec les Map )

Re: Accès direct - Liste Chaînée

Publié : sam. 06/janv./2018 21:07
par omega
Merci beaucoup pour votre aide

La solution Map semble me convenir.

Merci et bonne continuation