Articles

GeeksforGeeks

Un tableau est une collection d’éléments stockés à des emplacements de mémoire contigus. L’idée est de stocker plusieurs articles du même type ensemble. Cela facilite le calcul de la position de chaque élément en ajoutant simplement un décalage à une valeur de base, c’est-à-dire l’emplacement mémoire du premier élément du tableau (généralement désigné par le nom du tableau). La valeur de base est l’indice 0 et la différence entre les deux indices est le décalage.

Pour plus de simplicité, on peut penser à un tableau comme une flotte d’escaliers où sur chaque marche est placée une valeur (disons un de vos amis). Ici, vous pouvez identifier l’emplacement de l’un de vos amis en connaissant simplement le nombre de pas sur lesquels ils se trouvent.
Rappelez-vous: « L’emplacement du prochain index dépend du type de données que nous utilisons”.

tableau

L’image ci-dessus peut être considérée comme une vue de niveau supérieur d’un escalier où vous êtes à la base de l’escalier. Chaque élément peut être identifié de manière unique par son index dans le tableau (de la même manière que vous pourriez identifier vos amis par l’étape sur laquelle ils se trouvaient dans l’exemple ci-dessus).

La taille du tableau

En langage C, le tableau a une taille fixe, ce qui signifie qu’une fois que la taille lui est donnée, il ne peut pas être modifié, c’est-à-dire que vous ne pouvez pas le réduire ni le développer. La raison en était que pour l’expansion si nous changeons la taille, nous ne pouvons pas être sûrs (ce n’est pas possible à chaque fois) que nous obtenons le prochain emplacement de mémoire pour nous comme gratuit. Le rétrécissement ne fonctionnera pas car le tableau, lorsqu’il est déclaré, obtient de la mémoire statiquement, et donc le compilateur est le seul à le détruire.

Types d’indexation dans un tableau:

  • 0 (indexation basée sur zéro): Le premier élément du tableau est indexé par un indice de 0
  • 1 (indexation basée sur un): Le premier élément du tableau est indexé par l’indice de 1
  • n (indexation basée sur n): L’indice de base d’un tableau peut être librement choisi. Habituellement, les langages de programmation permettant une indexation basée sur n autorisent également des valeurs d’index négatives, et d’autres types de données scalaires comme les énumérations ou les caractères peuvent être utilisés comme index de tableau.

Avantages de l’utilisation de tableaux :

  • Les tableaux permettent un accès aléatoire aux éléments. Cela rend l’accès aux éléments par position plus rapide.
  • Les tableaux ont une meilleure localité de cache qui peut faire une très grande différence de performances.Les tableaux
  • représentent plusieurs éléments de données du même type en utilisant un seul nom.

Inconvénients de l’utilisation de tableaux:
Vous ne pouvez pas changer la taille, c’est-à-dire qu’une fois que vous avez déclaré le tableau, vous ne pouvez pas changer sa taille à cause de la mémoire statique qui lui est allouée. Ici, l’insertion et la suppression sont difficiles car les éléments sont stockés dans des emplacements mémoire consécutifs et l’opération de décalage est également coûteuse.
Maintenant, si vous prenez un exemple d’implémentation d’une pile de structure de données à l’aide d’un tableau, il y a une faille évidente.

Prenons l’opération POP de la pile. L’algorithme irait quelque chose comme ça.

  1. Vérifiez le sous-flux de la pile
  2. Décrémentez le sommet de 1

Donc, ce que nous faisons, c’est que le pointeur vers l’élément le plus haut décrémente, ce qui signifie que nous ne faisons que délimiter notre vue en fait cet élément reste là en parlant de l’espace mémoire si vous avez un type de données primitif, cela pourrait être correct mais l’objet d’un tableau prendrait beaucoup de mémoire.

Exemples –

// A character array in C/C++/Javachar arr1 = {'g', 'e', 'e', 'k', 's'};// An Integer array in C/C++/Javaint arr2 = {10, 20, 30, 40, 50};// Item at i'th index in array is typically accessed// as "arr". For example arr1 gives us 'g'// and arr2 gives us 40.

Habituellement, un tableau de caractères est appelé une « chaîne », alors qu’un tableau d’ints ou de flottants est appelé simplement un tableau.

Applications sur tableau

  1. Le tableau stocke des éléments de données du même type de données.Les tableaux
  2. peuvent être utilisés pour la planification du processeur.
  3. Utilisé pour Implémenter d’autres structures de données telles que des Piles, des files d’attente, des Tas, des tables de hachage, etc.

Si vous aimez GeeksforGeeks et souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyez votre article à [email protected] . Consultez votre article apparaissant sur la page principale de GeeksforGeeks et aidez d’autres Geeks.