logo

Dažādi veidi, kā kopēt vektoru C ++

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

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.