logo

Različiti načini kopiranja vektora u C ++

Kopiranje vektora je postupak stvaranja novog vektora koji sadrži iste elemente kao i izvorni vektor. U ovom ćemo članku naučiti različite načine kopiranja vektora u C ++.

Najučinkovitija i najlakša metoda kopiranja vektora u C ++ je upotrebom Operator dodjele (=) .  Pogledajmo primjer:



dfa primjeri
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; } 

Izlaz
2 4 1 5 3 

C ++ također pruža više metoda za kopiranje vektora u drugi vektor. Oni su sljedeći:

Tablica sadržaja

Korištenje vektorskog konstruktora

Još jedan jednostavan način kopiranja vektora u vrijeme deklaracije je prenošenje izvornog vektora konstruktoru kopiranja drugog vektor.



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; } 

Izlaz
2 4 1 5 3 

Korištenje kopiranja ()

A kopirati() Funkcija je naša metoda za kopiranje podataka u C ++. Može kopirati jedan vektor u drugi koristeći svoje iteratore. Štoviše copys_if () Varijanta ove funkcije također može izvesti selektivnu kopiju na temelju Unar -ove predikatne funkcije.

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; } 

Izlaz
2 4 1 5 3 

Obrazloženje: Moramo koristiti back_insertor () Funkcija ako nismo naveli vektorsku veličinu tijekom deklaracije. Ako smo već imali dovoljno prostora, onda moramo proći v2.Begin () umjesto toga.

Korištenje vektorskog dodjele ()

A vektor dodjeljivanje () Metoda je ekvivalentna metodi = Operator, ali potreban mu je iterator vektora koji će se kopirati.



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; } 

Izlaz
2 4 1 5 3 

Korištenje Vector Insert ()

A Vektor Insert () Metoda pruža verziju koja može kopirati sve elemente iz zadanog raspona. Ovo se može koristiti za kopiranje cijelog vektora u drugi na sličan način kao i Metoda dodjeljivanja ().

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; } 

Izlaz
2 4 1 5 3 

Korištenje Vector Push_Back ()

Gurnite sve elemente prvog vektora u drugi vektor pomoću vector push_back () metoda. Petlja se može ponavljati kroz prvi vektor.

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; } 

Izlaz
2 4 1 5 3 

Ova metoda pruža veću kontrolu jer i mi možemo izmijeniti element ako je potrebno prije kopiranja.