Maison > développement back-end > C++ > le corps du texte

Programme C++ pour supprimer des éléments d'un tableau sans utiliser les fonctions de la bibliothèque

WBOY
Libérer: 2023-09-09 10:45:02
avant
1101 Les gens l'ont consulté

Programme C++ pour supprimer des éléments dun tableau sans utiliser les fonctions de la bibliothèque

Le but d'un tableau est de donner accès au même type de données sur plusieurs emplacements mémoire via l'adresse de base et l'index. Dans diverses applications, les tableaux sont utilisés pour stocker des données pour diverses raisons. Les tableaux doivent gérer l'ajout, la suppression et la mise à jour d'éléments aussi efficacement que les autres structures de données. Les tableaux statiques et dynamiques contiennent de nombreuses fonctions de bibliothèque qui gèrent diverses opérations liées aux tableaux en C++. Mais dans cet article, nous verrons comment supprimer des éléments d’un tableau sans utiliser aucune fonction de bibliothèque.

Comprendre les concepts et illustrer avec des exemples

Given array A = [89, 12, 32, 74, 14, 69, 45, 12, 99, 85, 63, 32]
After deleting an element from index 5, the array will be like this:

A = [89, 12, 32, 74, 14, 45, 12, 99, 85, 63, 32]
Copier après la connexion

Supprimez un élément de n'importe quelle position, il existe trois situations possibles. Supprimer depuis le début, supprimer depuis la fin, supprimer depuis le milieu de n'importe quel index. Le retrait depuis la fin ne nécessite aucun déplacement. Mais les deux autres nécessitent de déplacer des éléments vers la gauche. Supprimez d’abord un élément de la position, puis remplissez la position avec des éléments consécutifs. Voyons l'algorithme et le code C++ pour une compréhension claire.

Algorithme

  • Obtenez le tableau A avec n éléments, la position est pos

  • Si pos >= n + 1, alors

    • Ne peut pas être supprimé, quittez la fonction

  • Sinon

    • Pour l'index c = pos à n − 1, procédez comme suit

      • A[c]=A[c+1]

    • Fin

    • n := n − 1

  • Fin si

La traduction chinoise de

Exemple

est :

Exemple

#include <iostream>
#include <algorithm>
# define Z 30

using namespace std;

void displayArr(int arr[], int n ) {
   for( int i = 0; i < n; i++ ){
      cout << arr[ i ] << ", ";
   } 
   cout << endl;
} 

void deleteElement( int A[], int &n, int pos ){
   if ( pos >= n + 1 ) {   
      cout << "Deletion not possible" << endl;
      return;
   }
   
   else
   {   
      for ( int c = pos; c < n ; c++ ) {
         A[ c ] = A[ c + 1 ];          
      }
      n = n - 1;
   }   
}

int main() {
   int arr[ Z ] = {84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 20};
   int n = 15;
   
   cout << "Given array elements: ";
   displayArr( arr, n);
   
   cout << "Delete from last position (position 15)" << endl;
   deleteElement( arr, n, 15 );
   cout << "Array after deleting last element: " << endl;
   displayArr( arr, n);
   
   cout << "Delete from first position (position 0)" << endl;
   deleteElement( arr, n, 0 );
   cout << "Array after deleting first element: " << endl;
   displayArr( arr, n);
   
   cout << "Delete from position 7" << endl;
   deleteElement( arr, n, 7 );
   cout << "Array after deleting element from index 7: " << endl;
   displayArr( arr, n);
}
Copier après la connexion

Sortie

Given array elements: 84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 20, 
Delete from last position (position 15)
Array after deleting last element: 
84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 
Delete from first position (position 0)
Array after deleting first element: 
56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 
Delete from position 7
Array after deleting element from index 7: 
56, 21, 32, 74, 96, 85, 41, 94, 20, 37, 36, 75,
Copier après la connexion

Conclusion

Nous avons montré comment supprimer des éléments d'un tableau dans cet article. Il s'agit d'un processus universel et nous pouvons supprimer n'importe où nous le souhaitons, y compris le début, la fin et le milieu. Les vecteurs ne sont pas utilisés car nous n'utilisons aucune fonction de bibliothèque. Pour les tableaux de taille dynamique, une approche vectorielle est également une option.

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal