Kopiranje vektorja je postopek ustvarjanja novega vektorja, ki vsebuje enake elemente kot originalni vektor. V tem članku se bomo naučili različnih načinov kopiranja vektorja v C ++.
Najučinkovitejša in najlažja metoda za kopiranje vektorja v C ++ je z uporabo Operator dodelitve (=) . Oglejmo si primer:
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; }
Izhod
2 4 1 5 3
C ++ ponuja tudi več metod za kopiranje vektorja v drug vektor. So takšni:
Tabela vsebine
- Z uporabo vektorskega konstruktorja
- Uporaba kopije ()
- Uporaba vektorske dodelitve ()
- Uporaba vektorskega vstavka ()
- Uporaba vektorskega push_back ()
Z uporabo vektorskega konstruktorja
Drug enostaven način za kopiranje vektorja v času deklaracije je s prenašanjem originalnega vektorja na konstruktor kopij drugega 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; }
Izhod
2 4 1 5 3
Uporaba kopije ()
The kopiraj () Funkcija je naša metoda Go-to za kopiranje podatkov v C ++. Enega vektorja lahko kopira v drugega s svojimi iteratorji. Poleg tega copy_if () Varianta te funkcije lahko izvede tudi selektivno kopijo na podlagi funkcije UNAY predikata.
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; }
Izhod
2 4 1 5 3
Pojasnilo: Uporabiti moramo Back_inSertor () Funkcija, če med deklaracijo nismo določili velikosti vektorja. Če smo že imeli dovolj prostora v2.begin () namesto tega.
Uporaba vektorske dodelitve ()
The vektorska dodelitev () Metoda je enakovredna metodi = operater, vendar potrebuje iterator do vektorja, ki ga je treba kopirati.
primerekC++
#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; }
Izhod
2 4 1 5 3
Uporaba vektorskega vstavka ()
The vektorski vložek () Metoda ponuja različico, ki lahko kopira vse elemente iz danega območja. To lahko uporabite za kopiranje celotnega vektorja na drugega na podoben način kot metoda Assign ().
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; }
Izhod
2 4 1 5 3
Uporaba vektorskega push_back ()
Vse elemente prvega vektorja potisnite v drugi vektor z uporabo vektor push_back () metoda. Zanka je lahko ponovitev skozi 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; }
Izhod
2 4 1 5 3
Ta metoda zagotavlja več nadzora, saj lahko pred kopiranjem spremenimo tudi element, če je potrebno.