logo

Différentes façons de copier un vecteur en C++

La copie d'un vecteur est le processus de création d'un nouveau vecteur contenant les mêmes éléments que le vecteur d'origine. Dans cet article, nous allons apprendre différentes manières de copier un vecteur en C++.

La méthode la plus efficace et la plus simple pour copier un vecteur en C++ consiste à utiliser opérateur d'affectation (=) .  Jetons un coup d'œil à un exemple :



C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  // Assigning the vector v1 to vector v2  vector<int> v2 = v1;  for (auto i : v2)  cout << i << ' ';  return 0; } 

Sortir
2 4 1 5 3 

C++ fournit également davantage de méthodes pour copier un vecteur dans un autre vecteur. Ils sont les suivants :

java commutateur int

Table des matières

programme c pour tableau à deux dimensions

Utiliser le constructeur de vecteurs

Un autre moyen simple de copier un vecteur au moment de la déclaration consiste à transmettre le vecteur d'origine au constructeur de copie d'un autre vecteur.



C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  // Copying vector v1 into vector v2  vector<int> v2(v1);  for (auto i : v2)  cout << i << ' ';  return 0; } 

Sortir
2 4 1 5 3 

Utiliser copie()

Le copie() function est notre méthode incontournable pour copier des données en C++. Il peut copier un vecteur sur un autre en utilisant leurs itérateurs. De plus le copie_if() Une variante de cette fonction peut également effectuer une copie sélective sur la base d'une fonction de prédicat unaire.

C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying vector v1 into vector v2  copy(v1.begin() v1.end() back_inserter(v2));  for (auto i : v2)  cout << i << ' ';  return 0; } 

Sortir
2 4 1 5 3 

Explication: Nous devons utiliser back_insertor() fonction si nous n’avons pas spécifié la taille du vecteur lors de la déclaration. Si nous avons déjà eu suffisamment d'espace, nous devons passer v2.begin() plutôt.

Utilisation de l'affectation de vecteur()

Le assignation de vecteur() La méthode est équivalente à la méthode de l'opérateur = mais elle nécessite que l'itérateur du vecteur soit copié.



C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying the vector v1 into vector v  v2.assign(v1.begin() v1.end());  for (auto i : v2)  cout << i << ' ';  return 0; } 

Sortir
2 4 1 5 3 

Utilisation de l'insertion vectorielle()

Le insertion vectorielle() La méthode fournit une version qui peut copier tous les éléments de la plage donnée. Cela peut être utilisé pour copier le vecteur entier vers un autre de la même manière que la méthode assign().

acteur de cinéma vijay
C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying vector v1 into vector v2  v2.insert(v2.begin() v1.begin() v1.end());  for (auto i : v2)  cout << i << ' ';  return 0; } 

Sortir
2 4 1 5 3 

Utilisation du vecteur push_back()

Poussez tous les éléments du premier vecteur dans le deuxième vecteur en utilisant vecteur push_back() méthode. Une boucle peut consister à parcourir le premier vecteur.

C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying vector v1 into vector v2  for (auto i : v1)  v2.push_back(i);  for (auto i : v2)  cout << i << ' ';  return 0; } 

Sortir
2 4 1 5 3 

Cette méthode offre plus de contrôle car nous pouvons également modifier l'élément si nécessaire avant de le copier.