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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 626
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

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

Message 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
Dernière modification par omega le dim. 07/janv./2018 20:40, modifié 1 fois.
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

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

Message par djes »

Ce que tu cherches s'appelle une map : http://www.purebasic.com/french/documen ... index.html
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

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

Message 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 )
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
omega
Messages : 626
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

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

Message par omega »

Merci beaucoup pour votre aide

La solution Map semble me convenir.

Merci et bonne continuation
Win7 (x64) 64 bits Pb 5.72
Répondre