Structure donnee
nom.s
taille.l
posx.l
posy.l
EndStructure
Global NewList planete.donnee()
NewMap id_planete.l()
For i=0 To 4
AddElement(planete())
Read.s planete()\nom
planete()\taille = Random(4)+1
planete()\posx = Random(100)
planete()\posy = Random(100)
AddMapElement(id_planete(),planete()\nom)
id_planete() = @planete()
Next i
DataSection
Data.s "valra","eden","kala","giga","tera"
EndDataSection
scan$ = "tera"
;recherche avec la liste
time = ElapsedMilliseconds()
For t=0 To 100000000
ForEach planete()
If planete()\nom = scan$
taille1 = planete()\taille
Break 1
EndIf
Next
Next t
time1 = ElapsedMilliseconds()-time
time = ElapsedMilliseconds()
For u=0 To 100000000
ChangeCurrentElement(planete(),id_planete(scan$))
taille2 = planete()\taille
Next u
time2 = ElapsedMilliseconds()-time
MessageRequester("test",Str(taille1)+"--"+Str(time1)+#CRLF$+Str(taille2)+"--"+Str(time2))
C'est un truc idiot mais je cherche ^^ des utilisations.
Structure donnee
nom.s
taille.l
posx.l
posy.l
EndStructure
Global NewList planete.donnee()
NewMap id_planete.donnee()
For i=0 To 4
AddElement(planete())
Read.s planete()\nom
planete()\taille = Random(4)+1
planete()\posx = Random(100)
planete()\posy = Random(100)
AddMapElement(id_planete(),planete()\nom)
id_planete()\taille = @planete()
Next i
DataSection
Data.s "valra","eden","kala","giga","tera"
EndDataSection
scan$ = "tera"
;recherche avec la liste
time = ElapsedMilliseconds()
For t=0 To 10000000
ForEach planete()
If planete()\nom = scan$
taille1 = planete()\taille
Break 1
EndIf
Next
Next t
time1 = ElapsedMilliseconds()-time
time = ElapsedMilliseconds()
For u=0 To 10000000
ChangeCurrentElement(planete(),id_planete(scan$)\taille)
taille2 = planete()\taille
Next u
time2 = ElapsedMilliseconds()-time
MessageRequester("test",Str(taille1)+"--"+Str(time1)+#CRLF$+Str(taille2)+"--"+Str(time2))
Les MAP's sont très utiles pour la gestion d'une énorme base de données.
Imagine que tu as 500.000' entrées , et que tu dois faire des recherches régulières dedans , avec un tableau , il te faudrait parcourir tout les éléments pour trouvé ce que tu cherches.
ici , avec les map , plus besoin de parcourir les éléments , tu ajoutes une "clé" & cette clé est transformée en position dans le tableau.
Kwandjeen a écrit :Si vous avez des infos / idées sur l'utilisation nous sommes preneur ^^.
Vous prenez les anti-virus?
Désolé Ollivier j'ai pas saisi . J'étais blonde dans une vie antérieure
Edit: sinon oui depuis que ma femme c'est fait pirater son ordi c'est un de mes objectifs de faire un antimalware et un scruteur de process avec kill, vérif registre, interaction process pour détecter les réamorçage. Mais un peu plus tard je me qualifie de Novice et programmer est un hobby je dois jongler avec mon boulot, mes filles et ma femme ^^.
Un exemple simple: la coloration syntaxique de l'IDE a en mémoire tous les noms de commandes pour savoir si c'est une fonction ou pas. Il suffit de créer une map avec tous les noms de commandes (qui sont forcement uniques) et tu peux savoir tres rapidement si ton mot est une commande ou pas. C'est beaucoup plus rapide que de parcourir une liste contenant ces mots (meme triée) car l'implementation est faite pour ce genre d'utilisation.
kwandjeen a écrit :Edit: sinon oui depuis que ma femme c'est fait pirater son ordi c'est un de mes objectifs de faire un antimalware et un scruteur de process avec kill, vérif registre, interaction process pour détecter les réamorçage. Mais un peu plus tard je me qualifie de Novice et programmer est un hobby je dois jongler avec mon boulot, mes filles et ma femme ^^.
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.