Maison  >  Article  >  développement back-end  >  Programme C++ : ajouter un élément à un tableau

Programme C++ : ajouter un élément à un tableau

王林
王林avant
2023-08-25 22:29:214879parcourir

Programme C++ : ajouter un élément à un tableau

Un tableau est une structure de données séquentielle linéaire utilisée pour contenir des données homogènes dans des emplacements de mémoire contigus. Comme les autres structures de données, les tableaux doivent avoir la capacité d'insérer, de supprimer, de parcourir et de mettre à jour des éléments de manière efficace. En C++, nos tableaux sont statiques. Il existe également des structures de tableaux dynamiques fournies en C++. Pour un tableau statique, les éléments Z peuvent être stockés dans le tableau. Jusqu'à présent, nous avons n éléments. Dans cet article, nous apprendrons comment insérer des éléments à la fin d’un tableau (également appelés éléments d’ajout) en C++.

Comprendre les concepts à travers des exemples

Le mot-clé « ceci » est utilisé comme suit

Given array A = [10, 14, 65, 85, 96, 12, 35, 74, 69]
After inserting 23 at the end, the array will look like this:
[10, 14, 65, 85, 96, 12, 35, 74, 69, 23]

Dans l'exemple ci-dessus, supposons que nous ayons un tableau A pouvant contenir jusqu'à 50 éléments. La valeur de Z est donc 50. Considérons maintenant d’abord qu’il contient 9 éléments. La taille du tableau n est donc 9. Pour insérer un autre élément à la fin du tableau, dans notre cas 23. L'élément sera placé à la fin et le nombre d'éléments dans A sera augmenté de 1. Alors n devient 10. Puisque nous insérons à la fin, le processus est simple. Nous pouvons simplement ajouter le nouvel élément après tous les éléments sans changer la position d'un élément existant dans le tableau. Voyons maintenant l'algorithme ainsi que le code d'implémentation C++ pour une compréhension claire.

Algorithme

  • Prenez un tableau A en entrée, le nombre d'éléments n en entrée et l'élément e qui sera inséré dans A

  • Si n est

    • A[ n ] = e

  • Fin si

  • Augmenter n à n := n + 1

  • tableau de retour A et nouvelle taille n

Exemple

#include <iostream>
# define Z 50

using namespace std;

void displayArr(int arr[], int n){
   for( int i = 0; i < n; i++ ){
      cout << arr[ i ] << ", ";
   }
   cout << endl;
}
void insertAtEnd( int arr[], int &n, int e ){
   if( n < Z ) {
      arr[ n ] = e;
   }
   n = n + 1;
}

int main() {
   int arr[ Z ] = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14};
   int n = 12;
   
   cout << "Array before insertion: ";
   displayArr( arr, n );
   
   cout << "Inserting 58 at the end:" << endl;
   insertAtEnd( arr, n, 58 );
   
   cout << "Array after insertion: ";
   displayArr( arr, n );
   
   cout << "Inserting 225 at the end:" << endl;
   insertAtEnd( arr, n, 225 );
   
   cout << "Array after insertion: ";
   displayArr( arr, n );
}

Sortie

Array before insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 
Inserting 58 at the end:
Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, 
Inserting 225 at the end:
Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, 225,

Ajouter des éléments à l'aide de vecteurs

Les vecteurs sont des structures de données dynamiques fournies avec C++ STL. Nous pouvons également obtenir des fonctionnalités similaires comme des tableaux dans des vecteurs. À l'intérieur du vecteur, nous utilisons la fonction push_back() pour obtenir la fonctionnalité insérée à la fin. La fonction push_back prend un nouvel élément comme argument et insère l'élément à la fin du vecteur donné. L'algorithme est simple. Nous n'avons rien de spécial à faire, appelons simplement la fonction de l'objet vectoriel donné en passant le nouvel élément que nous voulons insérer. Regardons directement l'implémentation C++.

Exemple

#include <iostream>
#include <vector>
# define Z 50

using namespace std;

void displayArr( vector<int> v ){
   for( int i = 0; i < v.size() ; i++ ){
      cout << v[ i ] << ", ";
   }
   cout << endl;
}

vector<int> insertAtEnd( vector<int> A, int e ){
   A.push_back( e );
   return A;
}

int main() {
   vector<int> A = {57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14};  
   cout << "Array before insertion: ";
   displayArr( A );
   
   cout << "Inserting 58 at the end:" << endl;
   A = insertAtEnd( A, 58 );
   
   cout << "Array after insertion: ";
   displayArr( A );
   
   cout << "Inserting 225 at the end:" << endl;
   A = insertAtEnd( A, 225 );
   
   cout << "Array after insertion: ";
   displayArr( A );
}

Sortie

Array before insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 
Inserting 58 at the end:
Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, 
Inserting 225 at the end:
Array after insertion: 57, 10, 14, 19, 86, 52, 32, 14, 76, 65, 32, 14, 58, 225,

Conclusion

Array est l'une des structures de données les plus simples pour stocker des données homogènes en continu. Les tableaux sont des structures de données. Comme d’autres structures de données, nous pouvons également insérer, supprimer, mettre à jour et parcourir facilement des éléments de tableau. Dans cet article, nous avons vu deux méthodes pour insérer des éléments à la fin, c'est-à-dire ajouter des éléments à un tableau. Dans la première approche, nous utilisons des tableaux statiques en C++. Puisque notre cible est la position finale, il n'est pas nécessaire de déplacer des éléments dans le tableau, il suffit d'ajouter un nouvel élément au dernier index et d'incrémenter le paramètre du nombre total d'éléments pour une utilisation ultérieure. Dans le deuxième cas, nous utilisons des vecteurs. Les vecteurs sont comme des tableaux ordinaires en C++, mais ils sont de nature dynamique. Il met automatiquement à jour sa taille totale en cas de besoin. C++ STL prend en charge les vecteurs, qui ont une fonction spéciale appelée push_back() pour insérer des éléments à l'arrière. Cependant, nous ne pouvons pas ajouter d’éléments au début avec cette méthode simple et directe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer