2017-08-14 7 views
0

Y at-il une différence de vitesse lors de la lecture du premier élément d'un tableau plutôt que le 4000e? Idem pour tout autre élément dans un tableau.Est-il plus rapide de lire le premier élément d'un tableau, ou le 4000e?

La plupart des questions sur le C++ mais toute la langue est correcte.

En ce qui concerne le tableau, il sera un tableau d'entiers.

+0

Quelle langue/plate-forme? Comme cela dépend. – Julian

+2

cela dépend (sur beaucoup de choses). – user3528438

+0

Rédigez une application de test et comparez-la vous-même dans la langue que vous utilisez. Que vous disent les résultats? –

Répondre

4

Si vous appelez spécifiquement un élément dans un tableau et vous connaissez la position exacte dans le tableau de l'élément dont vous avez besoin pour récupérer, alors il n'y aura pas de différence de vitesse. Cependant, s'il y a une boucle impliquée, ou un type de fonctionnalité qui recherche dans le tableau une valeur spécifique, alors la vitesse pourrait être affectée.

2

Doit être identique. Si vous connaissez l'index de l'élément que vous recherchez, vous n'avez rien à craindre, si ce n'est pas le cas, soyez prudent lorsque vous parcourez de grands tableaux.

Dépend une langue sans doute, mais je suis sûr qu'il est vrai en Java ou C/C++, pour le reste, je ne pouvais vraiment pas dire.

Ok, maintenant je vois que vous parlez de C++ de sorte que vous pouvez être sûr que ce même.

1

En C++ est exactement la même, c'est pourquoi les tableaux sont d'excellentes structures afin de faire des algorithmes un beaucoup de choses qui dépend de ce fait.

1

Accès à quelque chose en mémoire donné une adresse explicite est O (1)

l'accès à un élément de réseau se fait en prenant la position de départ du réseau, puis en ajoutant le décalage.

egif arr = 0x000001f0

Accès arr [0] = 0x000001f0 + 0x00000000

arr accès [256] = 0x000001f0 + 0x00000100

[Avertissement: peut varier selon les OS et la virtualisation et et et ... - mais ne vous inquiétez pas à ce sujet]