Vecteur dans C++ Bibliothèque de modèles standard (STL) avec exemple
⚡ Résumé intelligent
Vecteur dans C++ est un tableau dynamique de la bibliothèque de modèles standard qui se redimensionne automatiquement lorsque des éléments sont ajoutés ou supprimés, stockant les éléments dans une mémoire contiguë afin que les programmeurs puissent y accéder et les parcourir à l'aide d'itérateurs.

Qu'est-ce que la C++ Vecteur?
A C++ Un vecteur 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 un stockage contigu. Cela permet C++ les programmeurs peuvent accéder aux éléments vectoriels et les parcourir à l'aide d'itérateurs.
L'insertion de nouvelles données dans un vecteur s'effectue à la fin de celui-ci. Cette opération prend un temps différentiel. La suppression d'un élément d'un vecteur prend un temps constant, car 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.
Avant d'écrire du code avec des vecteurs, il est utile de savoir quand ils constituent le conteneur approprié.
Quand utiliser un vecteur ?
A C++ Le vecteur doit être utilisé dans les circonstances suivantes :
- Lorsque vous traitez des éléments de données qui changent constamment.
- Si la taille des données n'est pas connue avant de commencer, le vecteur ne vous demandera pas de définir la taille maximale du conteneur.
Comment initialiser des vecteurs dans C++
La syntaxe des vecteurs dans C++ est:
vector <data-type> name (items)
Comme indiqué ci-dessus, nous commençons par le mot-clé vector.
- Le Type de données est le type de données des éléments à stocker dans le vecteur.
- Le Le nom est le nom du vecteur ou des éléments de données.
- Le articles Indiquez le nombre d'éléments du vecteur de données. Ce paramètre est facultatif.
Une fois qu'un vecteur existe, les itérateurs vous offrent une manière similaire à un pointeur de parcourir ses éléments.
Itérateurs
Les itérateurs servent à accéder aux éléments stockés dans un vecteur. Il s'agit d'un objet fonctionnant comme un pointeur. Voici les itérateurs courants pris en charge par C++ vecteurs :
- vecteur::début(): il donne un itérateur qui pointe vers le premier élément du vecteur.
- vecteur::end(): il donne un itérateur qui pointe vers l'élément après la fin du vecteur.
- vecteur::cbegin() : C'est la même chose que vector::begin(), mais cela n'a pas la possibilité de modifier les éléments.
- vecteur::cend() : C'est la même chose que vector::end() mais cela ne peut pas modifier les éléments du vecteur.
L'exemple suivant remplit un vecteur puis le parcourt à l'aide d'itérateurs mutables et constants.
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 :
Code Explication:
- Incluez le fichier d'en-tête iostream dans notre code. Cela nous permettra de lire et d'écrire sur la console.
- Incluez le fichier d'en-tête vectoriel dans notre code. Cela nous permettra de travailler avec des vecteurs dans C++.
- Incluez l'espace de noms std afin d'utiliser ses classes et fonctions sans l'appeler.
- Appelez la fonction main() dans laquelle la logique du programme doit être ajoutée.
- Le { marque le début du corps de la fonction main().
- Déclarez un vecteur nommé nums pour stocker un ensemble d'entiers.
- Créez une boucle `for` pour parcourir le vecteur. La variable nous permettra de parcourir les éléments du vecteur, du premier au cinquième.
- Poussez les éléments dans le numéro vectoriel depuis l'arrière. Pour chaque itération, cela ajoutera la valeur actuelle de la variable a dans le vecteur, qui est de 1 à 5.
- Imprimez du texte sur la console.
- Utilisez une variable itératrice a pour parcourir les éléments des nombres vectoriels du début à l'élément après la fin. Notez que nous utilisons les itérateurs vector::begin() et vector::end().
- Imprimez les valeurs pointées par la variable itérateur a sur la console pour chaque itération.
- 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à.
- Utilisez une variable d'itération pour parcourir les éléments du vecteur `nums` du début jusqu'à l'élément suivant la fin. Notez que nous utilisons les itérateurs `vector::cbegin()` et `vector::cend()`.
- Imprimez les valeurs pointées par la variable itérateur a sur la console pour chaque itération.
- La fonction principale doit renvoyer une valeur si le programme s'exécute correctement.
- Fin du corps de la fonction main().
Modificateurs
Les modificateurs sont utilisés pour modifier la signification du type de données spécifié. Voici les modificateurs courants dans C++:
- vecteur::push_back() : Ce modificateur repousse les éléments par l'arrière.
- vecteur::insertion() : Pour insérer de nouveaux éléments dans un vecteur à un emplacement spécifié.
- vecteur::pop_back() : Ce modificateur supprime les éléments vectoriels de l'arrière.
- vecteur::effacer() : Il est utilisé pour supprimer une série d’éléments de l’emplacement spécifié.
- vecteur :: clear (): Il supprime tous les éléments vectoriels.
L'exemple suivant applique ces modificateurs successivement pour observer comment un vecteur se modifie.
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 :
Code Explication:
- Incluez le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Incluez le fichier d'en-tête vectoriel dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std pour utiliser ses classes sans l'appeler.
- Appelez la fonction main(). La logique du programme doit être ajoutée à l'intérieur de son corps.
- Le début du corps de la fonction main().
- Déclarez un vecteur nommé nums pour stocker des valeurs entières.
- Stockez 5 éléments dans les nombres vectoriels. Chacun avec une valeur de 1.
- Imprimez du texte sur la console.
- Utilisez une variable itératrice a pour parcourir les éléments des nombres vectoriels.
- Imprimez les valeurs des nombres vectoriels sur la console pour chaque itération.
- Ajoutez la valeur 2 à la fin des nombres vectoriels.
- Déclarez une variable entière n pour stocker la taille des nombres vectoriels.
- Imprimez la dernière valeur des nombres vectoriels à côté d'un autre texte. Il devrait renvoyer un 2.
- Supprimez le dernier élément des nombres vectoriels. Les 2 seront supprimés.
- Imprime le texte sur la console. Le \n déplace le curseur vers la nouvelle ligne pour y imprimer le texte.
- Utilisez une variable itératrice a pour parcourir les éléments des nombres vectoriels.
- Imprimez les valeurs des nombres vectoriels sur la console pour chaque itération.
- Insérez la valeur 7 au début des numéros de vecteur.
- Imprimez la première valeur des nombres vectoriels à côté d'un autre texte. Il devrait renvoyer 7.
- Supprimez tous les éléments des numéros de vecteur.
- Imprimez la taille du numéro vectoriel avec un autre texte après avoir effacé tout le contenu. Il devrait renvoyer 0.
- Fin du corps de la fonction main().
Capacités
Utilisez le suivant fonctions pour déterminer la capacité d'un vecteur :
- Taille() – Elle renvoie le nombre d'éléments dans un vecteur.
- Taille max() – Elle renvoie le nombre maximal d'éléments qu'un vecteur peut stocker.
- Capacité() – Elle renvoie la quantité d'espace de stockage allouée à un vecteur.
- Redimensionner() Cette fonction redimensionne le conteneur pour qu'il contienne n éléments. Si la taille actuelle du vecteur est supérieure à n, les derniers éléments seront supprimés. Si elle est inférieure à n, des éléments supplémentaires seront ajoutés à la fin du vecteur.
- Vide() – Elle renvoie vrai si le vecteur est vide. Sinon, elle renvoie faux.
Ce dernier exemple illustre et ajuste le stockage d'un vecteur à l'aide des fonctions de capacité ci-dessus.
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 :
Code Explication:
- Incluez le fichier d'en-tête iostream dans notre code pour utiliser sa fonction.
- Incluez le fichier d'en-tête vectoriel dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
- Appelez la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Créez un vecteur nommé vector1 pour stocker des entiers.
- Utilisez une boucle for pour créer une variable x avec des valeurs de 1 à 10.
- Poussez les valeurs de la variable x dans le vecteur.
- Imprimez la taille du vecteur à côté d'un autre texte sur la console.
- Imprimez la capacité du vecteur avec d'autres textes sur la console.
- Imprimez le nombre maximum d'éléments que le vecteur peut contenir avec d'autres textes sur la console.
- Redimensionnez le vecteur pour qu'il ne contienne que 5 éléments.
- Imprimez la nouvelle taille du vecteur avec un autre texte.
- Vérifiez si le vecteur n'est pas vide.
- Imprime le texte sur la console si le vecteur n'est pas vide.
- Utilisez une instruction else pour indiquer quoi faire si le vecteur est vide.
- Texte à imprimer sur la console si le vecteur est vide.
- Le programme doit renvoyer de la valeur une fois terminé.
- Fin du corps de la fonction main().





