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
- Utiliser copie()
- Utilisation de l'affectation de vecteur()
- Utilisation de l'insertion vectorielle()
- Utilisation du vecteur push_back()
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 vijayC++
#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.