If imbriqués, Case of ou liste pour une grosse sélection ?

If imbriqués, Case of ou liste pour une grosse sélection ? - Delphi/Pascal - Programmation

Marsh Posté le 21-06-2005 à 11:57:19    

'lut
 
Je dois faire une fonction qui doit renvoyer une valeur en fonction d'un paramètre de type string pris parmis une selection d'environ 2600 valeurs. En fonction de sa valeur je dois faire une requête qui me renverra la donnée à retourner.
Ma question porte sur la manière la plus efficace de faire cette fonction. Est-ce qu'il vaut mieux faire une énorme série de IF imbriqués couvrant les 2600 valeurs, ou bien créer une TStringList qui les contiendra toutes, et sur laquelle je piocherais à l'aide de IndexOf ? Ou encore une 3ème solution ? Votre avis ?


---------------
©2008 Bleuarff Corp.
Reply

Marsh Posté le 21-06-2005 à 11:57:19   

Reply

Marsh Posté le 21-06-2005 à 14:35:27    

L'utilisation d'IndexOf sur une TStringList triée (Sorted = True) sera bien plus rapide.
Quand la liste est triée il fait sa recherche de manière intelligente, pour éviter de faire une boucle avec comparaison à chaque fois.
Si tu veux quelque chose d'encore plus performant, il y a les THashedStringList depuis Delphi 5 ou 6 (dans la unit IniFiles il me semble).


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-06-2005 à 14:53:55    

Thx, jvais regarder ça :jap:


---------------
©2008 Bleuarff Corp.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed