Comment choisir entre utiliser un tableau de taille fixe (statique) et un tableau dynamique ?Que sont-ils ?Il existe deux types de tableaux en VB : les tableaux dits de taille fixe (statiques), et les tableaux dynamiques. Ces derniers sont déclarés sans tailles et dimensionnés dynamiquement avant usage : Dim Tableau_1(100) As Long ' tableau statique de 100 éléments Quelles différences, quand les employer, comment choisir ?Ces deux types de tableau s'utilisent de la même façon, à savoir que l'on accède toujours à un élément par son indice. Les vraies différences sont plus fondamentales : Différences
Comment choisir l'un ou l'autrePour un usage local, pour des tableaux de petite taille ou dans des cas particuliers où la taille du tableau est directement liée à l'usage, un tableau de taille fixe est adapté. On évite un Redim, c'est donc une bonne solution. Exemples d'utilisation 1Utilisation d'un tableau local, de petite dimension et au nombre d'éléments fixés : ' Moyenne arithmétique 4 valeurs Exemples d'utilisation 2On utilise un tableau pour stocker les résultats de tirage d'un dé à jouer. Ici, les mesures portent sur un dé à 6 faces. La dimension du tableau est connue à l'avance, elle ne changera pas. C'est la nature même de ce qui est mesuré qui fixe les dimensions du tableau. Const NOMBRE_FACES As Long = 6
Pour des tableaux de grande taille, ou quand le nombre d'éléments ne peut pas être déterminé à l'avance, ou pour implémenter des structures de données dynamiques, l'usage de tableaux dynamiques est définitivement recommandé. Il est de toute façon le seul qui permette l'allocation/réallocation. Tout ceci est exposé dans l'article : Comment réaliser des allocations dynamiques ?. Exemples d'utilisationPrivate Function Alea(ByVal n As Long) As Double() Remarque : En fonction des options de compilation choisies, les performances pour ce qui est de l'accès aux éléments peuvent varier. C'est vrai pour les 2 types de tableaux. Avec les options par défaut, l'accès aux éléments est plus rapide avec un tableau statique. Cependant les différences sont si faibles et le gain porte sur des valeurs si petites que les performances ne doivent pas être un critère pour le choix de l'une ou l'autre variante de tableaux. Pour aller plus loinVoir aussi : |
||||||||
Date de publication : 06 mars 2008 Dernière modification : 06 mars 2008 Rubriques : Algorithmique, Divers Mots-clés : tableau, tableaux, statique, dynamique, performance, performant, mémoire, fixe, dimension, dimensions, dimensionnement, redimensionner, taille, nombre, élément, éléments |