Comment ajoutez-vous à un vecteur en C++?

Comment ajoutez-vous à un vecteur en C++?
L'ajouter à un vecteur signifie ajouter un ou plusieurs éléments à l'arrière du vecteur. Le vecteur C ++ a des fonctions membres. Les fonctions membre qui peuvent être utilisées pour l'appel. La fonction officielle à utiliser pour ajouter est push_back (). L'utilisation de ces trois fonctions membres pour ajouter à un vecteur C ++ est expliquée dans cet article.

Pour utiliser un vecteur, la bibliothèque vectorielle doit être incluse en haut du programme, avec

#inclure

Tous les codes vectoriels pour cet article sont dans la fonction C ++ Main ().

Contenu de l'article

  • Repousser
  • Insertion
  • Mettre en œuvre
  • Conclusion

Repousser

Un seul élément peut être poussé à l'arrière d'un vecteur. Il existe deux syntaxes pour les fonctions membres Push_Back (), qui sont:

void push_back (const t & x)
void push_back (t && x)

Ils reviennent tous les deux et ils sont utilisés de la même manière.

Le code suivant a un vecteur de fleurs en Grande-Bretagne. Une autre fleur est push_back (), je.e., annexé, au vecteur. Le vecteur est un vecteur de chaînes de la classe de chaîne.

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
pour (int i = 0; icouter<couter<vtr.push_back ("Cornflower");
pour (vector :: iterator it = vtr.commencer(); il != VTR.fin(); it ++)
couter<< *it << ", ";
couter<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin,
Blue gorge, brush, brodiaea, balai, colombin, tampon de maïs,

Le programme commence par les directives d'inclusion nécessaires. Ensuite, il y a la fonction principale () avec tout le code vectoriel. Dans la fonction principale (), un vecteur de cinq chaînes de noms de fleurs est déclaré. Cette liste est ensuite affichée à l'aide d'une boucle et d'index. La déclaration principale du code est:

vtr.push_back ("Cornflower");

Cette expression ajoute un autre nom de fleur unique à la liste des vecteurs. Il y a maintenant six éléments dans le vecteur. Le segment de code suivant affiche l'ensemble de six éléments, en utilisant une boucle et des itérateurs.

Repousser vers le vecteur vide

Un vecteur ne doit pas toujours être créé avec des éléments. Un vecteur peut être créé, vide. La fonction membre PUSH_BACK () peut toujours être utilisée pour alimenter les éléments d'un vecteur vide. Le code suivant illustre ceci:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr;
vtr.push_back ("blue gorgewort");
vtr.push_back ("Bottlebrush");
vtr.push_back ("Brodiaea");
pour (int i = 0; icouter<couter<retour 0;

La sortie est:

Blue gorge, brush, brodiaea,

Dans la fonction principale (), la première instruction déclare un vecteur vide. Les trois instructions suivantes alimentent le vecteur avec trois noms de fleurs, en utilisant la fonction Push_back (). Le segment de code qui suit affiche les trois valeurs du vecteur.

Insertion

Deux fonctions simplifiées pour l'insertion d'un vecteur sont:

un.insérer (p, t)
un.insert (P, RV)

où «a» est le nom d'un vecteur et P est un itérateur pointant vers l'élément devant lequel l'insert aura lieu. Ces fonctions sont utilisées de la même manière, comme illustré dans l'exemple suivant:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
vecteur :: iterator p = vtr.fin();
vecteur :: iterator pret = vtr.insérer (P, "Cornflower");
pour (int i = 0; icouter<couter<couter<< *pRet<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin, tampon de maïs,
bleuet

Les deux déclarations spéciales de ce code sont:

vecteur:: iterator p = vtr.fin();
vecteur:: iterator pret = vtr.insérer (P, "Cornflower");

La première déclaration ici renvoie un itérateur qui pointe juste après le dernier élément du vecteur. Après l'insertion, l'itérateur est revenu, pointe vers l'élément inséré. Dans ce cas, l'itérateur retourné est prem. L'expression, * pret dans le code, obtient la valeur pointée par pret.

un.insert (p, n, t)

Cela insère n des mêmes valeurs t. Dans ce cas, l'insertion doit avoir lieu à la fin, comme dans le code suivant:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
vecteur :: iterator p = vtr.fin();
vecteur :: iterator pret = vtr.insérer (P, 3, "Cornflower");
pour (int i = 0; icouter<couter<couter<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin, tampon de maïs, tampon de maïs, tabouret,
5

Deux nouvelles déclarations d'intérêt dans ce programme sont:

vecteur:: iterator pret = vtr.insérer (P, 3, "Cornflower");
et
couter << pRet - vtr.begin() << endl;

La première déclaration ici insère 3 éléments de "Cornflower". La deuxième instruction calcule et renvoie l'index correspondant à l'itérateur renvoyé par la fonction insert (). Cet itérateur pointe vers le premier élément des éléments insérés.

un.insérer (p, i, j)

Cela insère une gamme d'éléments d'un vecteur similaire au vecteur d'intérêt. Moi et j sommes des itérateurs. L'élément indiqué par J n'est pas inséré. Une telle gamme est indiquée par [i, j) . Dans la situation de l'ajout, la gamme doit être insérée à l'arrière. Le programme suivant illustre ceci:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

vectorvec = "Cornflower", "Corsage Orchid", "Dill", "Drumstick", "Foxglove";
vecteur :: iterator itb = vec.commencer();
itb ++;
vecteur :: iterator ite = vec.fin();
ite--; ite--;
VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
vecteur :: iterator p = vtr.fin();
vecteur :: iterator pret = vtr.insérer (p, itb, ite);
pour (int i = 0; icouter<couter<couter<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin, orchidée corsage, aneth,
5

La deuxième instruction de la fonction Main () renvoie un itérateur qui pointe vers "Cornflower". La troisième déclaration fait que cet iterator pointe vers "Corsage Orchid". La déclaration après renvoie un itérateur qui pointe juste après "Foxglove". La déclaration suivante fait que cet itérateur pointe vers "Drumstick". Donc la gamme est maintenant,

"Corsage Orchid", "Dill", "Drumstick"

correspondant à [itb, ite) . Cependant, la plage insérée est ("Corsage Orchid", "Dill") comme expliqué ci-dessus.

un.insert (p, il)

Une liste littérale peut être insérée à l'arrière du vecteur. Dans ce cas, le dernier élément de la liste est inséré. Le programme suivant illustre ceci:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
vecteur :: iterator p = vtr.fin();
vecteur :: iterator pret = vtr.insert (p, "Corsage Orchid", "Dill", "Drumstick");
pour (int i = 0; icouter<couter<couter<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin, orchidée corsage, aneth, pilon,
5

La déclaration spéciale de ce programme est:

vecteur:: iterator pret = vtr.insert (p, "Corsage Orchid", "Dill", "Drumstick");

La liste insérée est:

"Corsage Orchid", "Dill", "Drumstick"

L'itérateur retourné pointe vers le premier élément de la liste insérée.

Mettre en œuvre

L'emplacement est comme un insert. Puisque cet article traite de l'appel.

un.EMPLACE (P, Args)

Ceci est la fonction membre simplifiée d'Emplace (). P est un itérateur, pointant vers l'élément, devant lequel, le nouvel élément est inséré. La fonction renvoie un itérateur pointant vers l'élément inséré. Le programme suivant illustre ceci:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
vecteur :: iterator p = vtr.fin();
vecteur :: iterator pret = vtr.EMPLACE (P, "Cornflower");
pour (int i = 0; icouter<couter<couter<< *pRet<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin, tampon de maïs,
bleuet

La déclaration spéciale de ce programme est:

vecteur:: iterator pret = vtr.EMPLACE (P, "Cornflower");

un.EMPlace_back (Args)

Ici, «A» est le nom du vecteur. emplace_back () est comme push_back (). Il ajoute un élément au vecteur. Il ne retourne pas un itérateur. Il renvoie une référence à l'élément inséré. Le programme suivant illustre son utilisation:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr = "Blue Gultwort", "Bottlebrush", "Brodiaea", "Broom", "Columbine";
pour (int i = 0; icouter<couter<vtr.EMPlace_back ("Cornflower");
pour (vector :: iterator it = vtr.commencer(); il != VTR.fin(); it ++)
couter<< *it << ", ";
couter<retour 0;

La sortie est:

Blue gorge, brush, brodiaea, balai, colombin,
Blue gorge, brush, brodiaea, balai, colombin, tampon de maïs,

La déclaration principale du programme est:

vtr.push_back ("Cornflower");

Cette expression ajoute un autre nom de fleur unique à la liste des vecteurs. Il y a maintenant six éléments dans le vecteur. Le segment de code suivant du programme affiche l'ensemble de six éléments, en utilisant une boucle et des itérateurs.

Emplacer le vecteur vide

Un vecteur ne doit pas toujours être créé avec des éléments. Un vecteur peut être créé, vide. La fonction membre EMPlace_back () peut toujours être utilisée pour alimenter les éléments d'un vecteur vide. Le code suivant illustre ceci:

#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()

VectorVtr;
String str1 = vtr.EMPLACE_BACK ("Blue Gulatwort");
String str2 = vtr.EMPlace_back ("Bottlebrush");
String str3 = vtr.EMPlace_back ("Brodiaea");
couter<< str1 <couter<< str2 <couter<< str3 <retour 0;

La sortie est:

Blue gorge
goupillon
Brodiaea

Dans la fonction principale (), la première instruction déclare un vecteur vide. Les trois déclarations suivantes alimentent le vecteur avec trois noms de fleurs, en utilisant la fonction EMPlace_back (). Le segment de code qui suit affiche les trois valeurs du vecteur.

Note; Une référence retournée est reçue par le type d'élément.

Conclusion

Un seul élément peut être ajouté à un vecteur avec les fonctions de membre du vecteur push_back () et emplace_back (). La fonction membre insert () peut également être utilisée dans ses différentes formes surchargées. La fonction insert () fonctionne avec les itérateurs.