Structure et recherche

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
fd
Messages : 70
Inscription : mar. 15/mars/2005 21:41
Localisation : Savoie

Structure et recherche

Message par fd »

Bonjour,

J'ai créé une structure avec :
Structure Structure02
Identifiant.s
Nom.s
Prenom.s
EndStructure

Global NewList Login.Structure02()

Je souhaite retrouver la valeur de nom et prenom pour une valeur de identifiant donnée, y a t-il une autre méthode qu'une boucle de ce type qui m'oblige à parcourir tous les éléments ? (du genre FindElement)

N = 0
While Login(N)\Identifiant = User
N+1
Wend
SelectElement(Login(), N)

Merci de vos idées
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Je ne crois pas qu'il existe une fonction comme tu le souhaite. Cependant, il me semble que la librairie sur les listes chainées est très optimisée.
De plus, au lieu d'utiliser ta boucle while - wend (qui me semble fausse à ce niveau : Login(N)\Identifiant ), tu peux faire comme ca :

ForEach login()
If login()\identifiant = "truc1"
Break
EndIf
Next

ansi, dès que identifiant vaut "truc1", on sort de la boucle, et l'élément est déja sélectionné.
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

tu peux déjà faire comme te le suggère AWEAR.Si tu n'as pas trop de données à traiter c'est très rapide.

Ou si tu as beaucoup de données à traiter , tu peux aussi chercher des infos sur les tables de hachage. L'accès aux données s'éxécute à temps constant, autrement dit ça permet de faire des recherches à temps constant.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

La solution la plus simple serait de trier tes données avec sort(), puis tu prends des points de référence, ce qui permettra de faire des recherches au plus près de la valeur recherchée.
Répondre