Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Vecteur dans la bibliothèque de modèles standard C++ (STL) avec exemple

Qu'est-ce qu'un vecteur C++ ?

Un vecteur C++ est un tableau dynamique capable de se redimensionner automatiquement. Le redimensionnement se produit après qu'un élément a été ajouté ou supprimé du vecteur. Le stockage est géré automatiquement par le conteneur. Les éléments d'un vecteur sont stockés dans une mémoire contiguë. Cela permet aux programmeurs C++ d'accéder et de parcourir les éléments vectoriels à l'aide d'itérateurs.

L'insertion de nouvelles données dans un vecteur se fait à sa fin. Cela prend un temps différentiel. La suppression d'un élément d'un vecteur prend un temps constant. La raison en est qu'il n'est pas nécessaire de redimensionner le vecteur. L'insertion ou la suppression d'un élément au début du vecteur prend un temps linéaire.

Dans ce didacticiel C++, vous apprendrez :

Quand utiliser un vecteur ?

Un vecteur C++ doit être utilisé dans les circonstances suivantes :

Comment initialiser des vecteurs en C++

La syntaxe des vecteurs en C++ est :

vector <data-type> name (items)

Itérateurs

Le but des itérateurs est de nous aider à accéder aux éléments stockés dans un vecteur. C'est un objet qui fonctionne comme un pointeur. Voici les itérateurs courants pris en charge par les vecteurs C++ :

Modificateurs

Les modificateurs sont utilisés pour changer la signification du type de données spécifié. Voici les modificateurs courants en C++ :

Exemple 1

#include <iostream> 
#include <vector> 

using namespace std;
int main()
{
	vector<int> nums;

	for (int a = 1; a <= 5; a++)

		nums.push_back(a);

	cout << "Output from begin and end: ";

	for (auto a = nums.begin(); a != nums.end(); ++a)

		cout << *a << " ";

	cout << "\nOutput from cbegin and cend: ";

	for (auto a = nums.cbegin(); a != nums.cend(); ++a)

		cout << *a << " ";

	return 0;
}

Sortie :

Voici une capture d'écran du code :

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
  2. Inclure le fichier d'en-tête vectoriel dans notre code. Cela nous permettra de travailler avec des vecteurs en C++.
  3. Incluez l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
  4. Appelez la fonction main() à l'intérieur de laquelle la logique du programme doit être ajoutée.
  5. Le { marque le début du corps de la fonction main().
  6. Déclarez un vecteur nommé nums pour stocker un ensemble d'entiers.
  7. Créez une boucle for pour nous aider à parcourir le vecteur. La variable nous aidera à itérer sur les éléments vectoriels, à partir du 1 er au 5 ème éléments.
  8. Poussez les éléments dans le vecteur num par l'arrière. Pour chaque itération, cela ajoutera la valeur actuelle de la variable a dans le vecteur, qui est de 1 à 5.
  9. Imprimer du texte sur la console
  10. Utilisez une variable d'itérateur a pour itérer sur les éléments de vecteur nums du début à l'élément après la fin. Notez que nous utilisons les itérateurs vector::begin() et vector::end().
  11. Afficher les valeurs pointées par la variable d'itérateur an sur la console pour chaque itération.
  12. Imprimez du texte sur la console. Le \n est un caractère de nouvelle ligne, déplaçant le curseur vers la nouvelle ligne pour imprimer à partir de là.
  13. Utilisez une variable d'itérateur pour itérer sur les éléments des numéros de vecteur du début à l'élément après la fin. Notez que nous utilisons les itérateurs vector::cbegin() et vector::cend().
  14. Afficher les valeurs pointées par la variable d'itérateur a sur la console pour chaque itération.
  15. La fonction main doit renvoyer une valeur si le programme s'exécute correctement.
  16. Fin du corps de la fonction main().

Exemple 2

#include <iostream>
#include <vector> 

using namespace std;
int main()
{
	vector<int> nums;
	
	nums.assign(5, 1);

	cout << "Vector contents: ";
	for (int a = 0; a < nums.size(); a++)
		cout << nums[a] << " ";

	nums.push_back(2);
	int n = nums.size();
	cout << "\nLast element: " << nums[n - 1];

	nums.pop_back();

	cout << "\nVector contents: ";
	for (int a = 0; a < nums.size(); a++)
		cout << nums[a] << " ";

	nums.insert(nums.begin(), 7);

	cout << "\nFirst element: " << nums[0];
	
	nums.clear();
	cout << "\nSize after clear(): " << nums.size();			
}

Sortie :

Voici une capture d'écran du code :

Explication du code :

  1. Incluez le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
  2. Incluez le fichier d'en-tête vectoriel dans notre code pour utiliser ses fonctions.
  3. Incluez l'espace de noms std pour utiliser ses classes sans l'appeler.
  4. Appelez la fonction main(). La logique du programme doit être ajoutée dans son corps.
  5. Le début du corps de la fonction main().
  6. Déclarez un vecteur nommé nums pour stocker des valeurs entières.
  7. Mémoriser 5 éléments dans le vecteur nums. Chacun avec une valeur de 1.
  8. Imprimer du texte sur la console
  9. Utilisez une variable d'itérateur a pour itérer sur les éléments du vecteur nums.
  10. Imprimez les valeurs des numéros de vecteur sur la console pour chaque itération.
  11. Ajoutez la valeur 2 à la fin des numéros de vecteur.
  12. Déclarez une variable entière n pour stocker la taille du vecteur nums.
  13. Imprime la dernière valeur des numéros de vecteur à côté d'un autre texte. Il devrait renvoyer un 2.
  14. Supprimez le dernier élément du vecteur nums. Le 2 sera supprimé.
  15. Imprimez du texte sur la console. Le \n déplace le curseur vers la nouvelle ligne pour y imprimer le texte.
  16. Utilisez une variable d'itérateur a pour itérer sur les éléments du vecteur nums.
  17. Imprimez les valeurs des numéros de vecteur sur la console pour chaque itération.
  18. Insérez la valeur 7 au début des numéros de vecteur.
  19. Imprime la première valeur des numéros de vecteur à côté d'un autre texte. Il devrait retourner 7.
  20. Supprimez tous les éléments des numéros de vecteur.
  21. Imprimez la taille du vecteur numérique à côté d'un autre texte après avoir effacé tout le contenu. Il devrait renvoyer 0.
  22. Fin du corps de la fonction main().

Capacité

Utilisez les fonctions suivantes pour déterminer la capacité d'un vecteur :

Exemple 3

#include <iostream> 
#include <vector> 
using namespace std;
int main() {
	vector<int> vector1;
	for (int x = 1; x <= 10; x++)
		vector1.push_back(x);
	cout << "Vector size: " << vector1.size()<< endl;
	cout << "Vector capacity: " << vector1.capacity() << endl;
	cout << "Maximum size of vector: " << vector1.max_size()<< endl;
	vector1.resize(5);
	cout << "Vector size after resizing: " << vector1.size() << endl;
	if (vector1.empty() == false)
		cout << "Vector is not empty"<<endl;
	else
		cout << "Vector is empty"<<endl;
	return 0;
}

Sortie :

Voici une capture d'écran du code :

Explication du code :

  1. Incluez le fichier d'en-tête iostream dans notre code pour utiliser sa fonction.
  2. Incluez le fichier d'en-tête vectoriel dans notre code pour utiliser ses fonctions.
  3. Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
  4. Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  5. Créez un vecteur nommé vector1 pour stocker des nombres entiers.
  6. Utilisez une boucle for pour créer la variable x avec des valeurs comprises entre 1 et 10.
  7. Poussez les valeurs de la variable x dans le vecteur.
  8. Imprimez la taille du vecteur à côté d'autres textes sur la console.
  9. Imprimez la capacité du vecteur à côté d'autres textes sur la console.
  10. Imprimez le nombre maximum d'éléments que le vecteur peut contenir à côté d'autres textes sur la console.
  11. Redimensionnez le vecteur pour qu'il ne contienne que 5 éléments.
  12. Imprimez la nouvelle taille du vecteur à côté d'un autre texte.
  13. Vérifiez si le vecteur n'est pas vide.
  14. Imprimer du texte sur la console si le vecteur n'est pas vide.
  15. Utilisez une instruction else pour indiquer ce qu'il faut faire si le vecteur est vide.
  16. Texte à imprimer sur la console si le vecteur est vide.
  17. Le programme doit renvoyer une valeur en cas de réussite.
  18. Fin du corps de la fonction main().

Résumé :


Langue C

  1. C Fonctions de la bibliothèque standard
  2. Opérateurs en C++ avec exemple :qu'est-ce que c'est, les types et les programmes
  3. Boucle do…while C++ avec exemples
  4. Instruction C++ Switch Case avec EXAMPLE
  5. Allocation dynamique C++ de tableaux avec exemple
  6. Pointeurs C++ avec exemples
  7. Surcharge d'opérateur C++ avec des exemples
  8. std ::list en C++ avec exemple
  9. Fonctions C++ avec exemples de programmes