Vektora kopēšana ir jauna vektora izveidošanas process, kurā ir vienādi elementi kā sākotnējais vektors. Šajā rakstā mēs iemācīsimies dažādus veidus, kā kopēt vektoru C ++.
Visefektīvākā un vienkāršākā metode vektora kopēšanai C ++ ir, izmantojot Piešķiršanas operators (=) Apvidū Apskatīsim piemēru:
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; }
Izvade
2 4 1 5 3
C ++ nodrošina arī vairāk metožu vektora kopēšanai citā vektorā. Tie ir šādi:
Satura rādītājs
- Izmantojot vektoru konstruktoru
- Izmantojot kopiju ()
- Izmantojot vektora piešķiršanu ()
- Izmantojot vektora ieliktni ()
- Izmantojot vektora push_back ()
Izmantojot vektoru konstruktoru
Vēl viens vienkāršs veids, kā nokopēt vektoru deklarācijas laikā vektors.
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; }
Izvade
2 4 1 5 3
Izmantojot kopiju ()
Līdz kopēt () Funkcija ir mūsu rīcības metode datu kopēšanai C ++. Tas var kopēt vienu vektoru uz otru, izmantojot viņu iteratorus. Turklāt copy_if () Šīs funkcijas variants var arī veikt selektīvu kopiju, pamatojoties uz vienotu predikātu funkciju.
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; }
Izvade
2 4 1 5 3
Paskaidrojums: Mums ir jāizmanto back_insertor () Funkcija, ja deklarācijas laikā mēs neesam norādījuši vektora lielumu. Ja mums jau ir bijis pietiekami daudz vietas, mums ir jāiet garām v2.begin () tā vietā.
python programmu saraksts
Izmantojot vektora piešķiršanu ()
Līdz vektora piešķiršana () Metode ir līdzvērtīga = operatora metodei, bet tai ir nepieciešams kopēt vektoru iteratoru.
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; }
Izvade
2 4 1 5 3
Izmantojot vektora ieliktni ()
Līdz vektora ieliktnis () Metode nodrošina versiju, kas var kopēt visus elementus no dotā diapazona. To var izmantot, lai kopētu visu vektoru uz citu līdzīgi kā piešķirt () metodi.
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; }
Izvade
2 4 1 5 3
Izmantojot vektora push_back ()
Piespiest visus pirmā vektora elementus otrajā vektorā, izmantojot vektora push_back () metode. Cilpa var būt atkārtota caur pirmo vektoru.
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; }
Izvade
2 4 1 5 3
Šī metode nodrošina lielāku kontroli, jo pirms kopēšanas mēs varam arī modificēt elementu, ja nepieciešams.