Structures de données et algorithmes - Tableaux

Array est un conteneur qui peut contenir un nombre fixe d'éléments et ces éléments doivent être du même type. La plupart des structures de données utilisent des tableaux pour implémenter leurs algorithmes. Voici les termes importants pour comprendre le concept de Array.

  • Element - Chaque élément stocké dans un tableau est appelé un élément.

  • Index - Chaque emplacement d'un élément dans un tableau a un index numérique, qui est utilisé pour identifier l'élément.

Représentation du tableau

Les tableaux peuvent être déclarés de différentes manières dans différentes langues. Pour illustration, prenons la déclaration de tableau C.

Les tableaux peuvent être déclarés de différentes manières dans différentes langues. Pour illustration, prenons la déclaration de tableau C.

Conformément à l'illustration ci-dessus, voici les points importants à considérer.

  • L'index commence par 0.

  • La longueur du tableau est de 10, ce qui signifie qu'il peut stocker 10 éléments.

  • Chaque élément est accessible via son index. Par exemple, nous pouvons récupérer un élément à l'index 6 comme 9.

Opérations de base

Voici les opérations de base prises en charge par une baie.

  • Traverse - imprimer tous les éléments du tableau un par un.

  • Insertion - Ajoute un élément à l'index donné.

  • Deletion - Supprime un élément à l'index donné.

  • Search - Recherche un élément en utilisant l'index donné ou par la valeur.

  • Update - Met à jour un élément à l'index donné.

En C, lorsqu'un tableau est initialisé avec size, il attribue des valeurs par défaut à ses éléments dans l'ordre suivant.

Type de données Valeur par défaut
booléen faux
carboniser 0
int 0
flotte 0,0
double 0,0f
néant
wchar_t 0

Fonctionnement de la traversée

Cette opération consiste à parcourir les éléments d'un tableau.

Exemple

Le programme suivant parcourt et imprime les éléments d'un tableau:

#include <stdio.h>
main() {
   int LA[] = {1,3,5,7,8};
   int item = 10, k = 3, n = 5;
   int i = 0, j = n;   
   printf("The original array elements are :\n");
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Lorsque nous compilons et exécutons le programme ci-dessus, il produit le résultat suivant -

Production

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8

Opération d'insertion

L'opération d'insertion consiste à insérer un ou plusieurs éléments de données dans un tableau. En fonction de l'exigence, un nouvel élément peut être ajouté au début, à la fin ou à tout index donné du tableau.

Ici, nous voyons une implémentation pratique de l'opération d'insertion, où nous ajoutons des données à la fin du tableau -

Exemple

Voici la mise en œuvre de l'algorithme ci-dessus -

#include <stdio.h>

main() {
   int LA[] = {1,3,5,7,8};
   int item = 10, k = 3, n = 5;
   int i = 0, j = n;
   
   printf("The original array elements are :\n");

   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }

   n = n + 1;
	
   while( j >= k) {
      LA[j+1] = LA[j];
      j = j - 1;
   }

   LA[k] = item;

   printf("The array elements after insertion :\n");

   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Lorsque nous compilons et exécutons le programme ci-dessus, il produit le résultat suivant -

Production

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
The array elements after insertion :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 10 
LA[4] = 7 
LA[5] = 8

Pour d'autres variantes de l'opération d'insertion de tableau, cliquez ici

Opération de suppression

La suppression fait référence à la suppression d'un élément existant du tableau et à la réorganisation de tous les éléments d'un tableau.

Algorithme

Considérer LA est un tableau linéaire avec N éléments et K est un entier positif tel que K<=N. Voici l'algorithme pour supprimer un élément disponible à la K e position de LA.

1. Start
2. Set J = K
3. Repeat steps 4 and 5 while J < N
4. Set LA[J] = LA[J + 1]
5. Set J = J+1
6. Set N = N-1
7. Stop

Exemple

Voici la mise en œuvre de l'algorithme ci-dessus -

#include <stdio.h>

void main() {
   int LA[] = {1,3,5,7,8};
   int k = 3, n = 5;
   int i, j;
   
   printf("The original array elements are :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
    
   j = k;
	
   while( j < n) {
      LA[j-1] = LA[j];
      j = j + 1;
   }
	
   n = n -1;
   
   printf("The array elements after deletion :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Lorsque nous compilons et exécutons le programme ci-dessus, il produit le résultat suivant -

Production

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
The array elements after deletion :
LA[0] = 1 
LA[1] = 3 
LA[2] = 7 
LA[3] = 8

Opération de recherche

Vous pouvez effectuer une recherche d'un élément de tableau en fonction de sa valeur ou de son index.

Algorithme

Considérer LA est un tableau linéaire avec N éléments et K est un entier positif tel que K<=N. Voici l'algorithme pour trouver un élément avec une valeur de ITEM en utilisant la recherche séquentielle.

1. Start
2. Set J = 0
3. Repeat steps 4 and 5 while J < N
4. IF LA[J] is equal ITEM THEN GOTO STEP 6
5. Set J = J +1
6. PRINT J, ITEM
7. Stop

Exemple

Voici la mise en œuvre de l'algorithme ci-dessus -

#include <stdio.h>

void main() {
   int LA[] = {1,3,5,7,8};
   int item = 5, n = 5;
   int i = 0, j = 0;
   
   printf("The original array elements are :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
    
   while( j < n){
      if( LA[j] == item ) {
         break;
      }
		
      j = j + 1;
   }
	
   printf("Found element %d at position %d\n", item, j+1);
}

Lorsque nous compilons et exécutons le programme ci-dessus, il produit le résultat suivant -

Production

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
Found element 5 at position 3

Opération de mise à jour

L'opération de mise à jour fait référence à la mise à jour d'un élément existant du tableau à un index donné.

Algorithme

Considérer LA est un tableau linéaire avec N éléments et K est un entier positif tel que K<=N. Voici l'algorithme pour mettre à jour un élément disponible à la K e position de LA.

1. Start
2. Set LA[K-1] = ITEM
3. Stop

Exemple

Voici la mise en œuvre de l'algorithme ci-dessus -

#include <stdio.h>

void main() {
   int LA[] = {1,3,5,7,8};
   int k = 3, n = 5, item = 10;
   int i, j;
   
   printf("The original array elements are :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
    
   LA[k-1] = item;

   printf("The array elements after updation :\n");
	
   for(i = 0; i<n; i++) {
      printf("LA[%d] = %d \n", i, LA[i]);
   }
}

Lorsque nous compilons et exécutons le programme ci-dessus, il produit le résultat suivant -

Production

The original array elements are :
LA[0] = 1 
LA[1] = 3 
LA[2] = 5 
LA[3] = 7 
LA[4] = 8 
The array elements after updation :
LA[0] = 1 
LA[1] = 3 
LA[2] = 10 
LA[3] = 7 
LA[4] = 8