Copier le vecteur C ++

Copier le vecteur C ++
Les vecteurs sont des conteneurs séquentiels qui représentent des tableaux de taille variable. Les vecteurs, comme les tableaux, utilisent des espaces de stockage contigus pour leurs éléments, ce qui signifie qu'ils sont accessibles en utilisant des gammes sur des pointeurs ordinaires vers leurs éléments de la même manière que les tableaux peuvent. Cependant, contrairement aux tableaux, leur taille varie dynamiquement, avec le stockage du conteneur avec le stockage.

Dans la situation des tableaux, la seule façon de copier un tableau dans un autre est d'utiliser une approche itérative, qui consiste à exécuter une boucle et à copier chaque élément à son index approprié. Heureusement, les classes vectorielles incluent de nombreuses façons de copier un vecteur entier dans une autre d'une manière plus pratique.

La copie d'un vecteur implique la création d'un nouveau vecteur qui a une copie de tous les composants du vecteur d'origine dans le même ordre.

Exemple 1: STD :: Copier la méthode pour copier le vecteur en C++

La copie std :: est une fonction intégrée pour copier les éléments d'un vecteur à l'autre. Cependant, assurez-vous que le vecteur cible a suffisamment d'espace pour contenir tous les composants de la séquence d'origine.

Le programme a la section d'en-tête avec les fichiers requis. Tout d'abord, nous avons le fichier ioStream; Ensuite, nous avons un fichier vectoriel, un fichier de bibliothèque intégré standard en C++. Grâce à cette bibliothèque, nous pouvons utiliser des vecteurs dans le programme. Ensuite, nous avons un fichier d'en-tête d'algorithme pour la copie des éléments de vecteurs. Nous avons également inclus le fichier Iterator dans le programme, ce qui nous permet d'accéder aux éléments des vecteurs.

Maintenant, nous avons la fonction principale où nous avons déclaré une variable comme «Vec1» du type de vecteur et l'avons initialisée avec le tableau entier. Ensuite, nous avons déclaré une autre variable de type vecteur comme «Vec2». Ensuite, a invoqué la fonction de copie, qui copie tous les éléments de «Vec1» à «Vec2». La fonction Begin () prend le premier itérateur vectoriel, la fonction fin () prend le dernier itérateur vectoriel, et le back_insertor ici insère les éléments de l'arrière.

Ensuite, nous avons pour la condition de boucle, qui boucle le cycle sur chaque élément stocké dans le «Vec1» et imprime les éléments. Il en va de même pour les éléments «Vec2»; Il itère également à travers le cycle de boucle pour et imprimera sur l'écran de l'invite.

#inclure
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()
vecteur Vec1 3, 6, 6, 11;
vecteur Vec2;
Copier (VEC1.begin (), vec1.end (), back_inserter (vec2));
couter << "Elements of Vector1 : ";
pour (int v = 0; vcouter << vec1[v] << " ";
couter << endl;
couter << "Elements of Vector2 : ";
pour (int v = 0; vcouter << vec2[v] << " ";
couter<< endl;
retour 0;

La sortie du programme ci-dessus démontre que le vecteur a été copié sur l'autre vecteur.

Exemple2: Assign () Méthode pour copier le vecteur en c++

Une autre alternative consiste à utiliser la méthode des membres publics de la classe vectorielle Assign (), qui remplace les éléments vectoriels par des éléments de la plage définie.

Nous avons inclus tous les fichiers requis dans la section d'en-tête, qui nous permet d'accéder aux éléments vectoriels, de copier l'élément vectoriel et de nous permettre d'utiliser des vecteurs dans le programme. De plus, le fichier STD de l'espace de noms est inclus dans l'en-tête du programme.

L'étape suivante consiste à invoquer la fonction principale dans laquelle la mise en œuvre du programme a été effectuée pour l'exécution. Tout d'abord, nous avons défini une variable de type vecteur «A» qui stocke les entiers dans un modèle de tableau. Ensuite, nous avons une autre variable, «B» également de type vecteur.

Après avoir défini la variable, nous avons utilisé la méthode Assign (), qui renvoie l'itérateur pointant vers le premier et le dernier vecteur «A». La méthode d'attribution a copié les éléments vectoriels «A» aux éléments vectoriels «b». Maintenant, la boucle FOR est utilisée pour itérer les éléments vectoriels «A» et imprimera les éléments du vecteur «A». La boucle FOR est également utilisée pour l'itération sur les éléments «B» vectorielle et affiche ces éléments via la commande cout.

#inclure
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()
vecteur a 3, 5, 7, 9, 11;
vecteur B;
b.attribuer (A.begin (), un.fin());
couter << "Elements of vector : ";
pour (int i = 0; icouter << a[i] << " ";
couter << endl;
couter << "Elements of new vector : ";
pour (int i = 0; icouter << b[i] << " ";
couter<< endl;
retour 0;

Le vecteur est copié sur l'autre vecteur. Par conséquent, nous pouvons également utiliser la fonction d'attribution en C ++ pour copier des éléments vectoriels aux autres éléments du vecteur.

Exemple 3: Méthode de l'opérateur d'affectation pour copier le vecteur en c++

Un vecteur peut également être copié dans un autre vecteur avec l'opérateur d'affectation. La raison pour laquelle un tel opérateur d'affectation fonctionne est qu'il écrase simplement les membres existants si l'un d'eux est accessible, sinon attribue l'élément à partir de l'endroit où il est copié.

La première étape a inclus des fichiers essentiels dans la section d'en-tête requis pour ce programme. De plus, nous avons un fichier std d'espace de noms pour utiliser sa fonction dans le programme. Ensuite, nous avons la fonction principale dans laquelle nous avons déclaré deux variables, «Vector1» et «Vector2» de type vecteur. Seul «Vector1» est initialisé avec le tableau entier.

Maintenant, nous avons un opérateur d'affectation (=) qui copie les éléments «Vector1» aux éléments «Vector2» en plaçant simplement l'opérateur «=» entre le «Vector1» et «Vector2». La boucle FOR est utilisée pour l'itération sur les deux vecteurs donnés respectivement et imprime les éléments présents dans les vecteurs spécifiés via l'objet cout.

#inclure
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()
vecteur Vector1 0, 2, 4, 6, 8;
vecteur vector2;
vector2 = vector1;
couter << "vector1 elements : ";
pour (int i = 0; icouter << vector1[i] << " ";
couter << endl;
couter << "vector2 elements : ";
pour (int i = 0; icouter << vector2[i] << " ";
couter<< endl;
retour 0;

Les éléments Vector1 sont copiés sur les éléments Vector2 comme indiqué dans l'écran d'invite suivant.

Exemple 4: Méthode du constructeur pour copier le vecteur en C++

Lorsqu'un vecteur est déclaré, passer un vecteur initialisé existant copie les éléments du vecteur donné dans le vecteur nouvellement déclaré. Nous devons fournir un vecteur source au vecteur de destination en tant que constructeur, qui sera ensuite appelé le constructeur de copie.

En commençant par la section d'en-tête, nous avons des fichiers de bibliothèque intégrés standard de C ++ qui sont nécessaires pour ce programme. La fonction principale est ensuite invoquée où nous avons déclaré une variable de type vecteur comme «p». La variable «P» contient le tableau d'entiers. Ensuite, déclarant un nouveau vecteur comme «P» et passant un élément d'un vecteur existant «P» dans la méthode du constructeur.

Grâce à la méthode du constructeur, les éléments vectoriels «p» sont copiés sur le vecteur «Q». La boucle FOR est utilisée pour les vecteurs «P» et «Q» et sera imprimé sur l'écran invite d'Ubuntu.

#inclure
#inclure
#inclure
#inclure
Utilisation de Namespace Std;
int main()
vecteur P 1996, 1997, 1998, 1999;
vecteur Q (P);
couter << "Elements of old vector : ";
pour (int i = 0; icouter << p[i] << " ";
couter << endl;
couter << "Elements of new vector: ";
pour (int i = 0; icouter << q[i] << " ";
couter<< endl;
retour 0;

Par conséquent, les éléments sont copiés de l'ancien vecteur «P» au nouveau vecteur «Q» dans l'écran suivant.

Conclusion

Nous avons appris de nombreuses méthodes pour copier un vecteur dans un nouveau vecteur. Nous avons utilisé quatre approches différentes pour copier les vecteurs en C++. Ces approches comprenaient la méthode de copie std ::, la méthode attribuée, la méthode de l'opérateur d'affectation et un vecteur source de passage en tant que constructeur. Avec les résultats éprouvés de ces méthodes utilisées dans le programme, nous avons copié les éléments des éléments vectoriels existants au vecteur nouvellement formé dans le langage de programmation C ++.