logo

Различити начини копирања вектора у Ц ++

Копирање вектора је процес креирања новог вектора који садржи исте елементе као оригинални вектор. У овом чланку ћемо научити различите начине за копирање вектора у Ц ++.

Најефикаснија и најлакша метода копирања вектора у Ц ++ је коришћењем Оператор задатка (=) .  Погледајмо пример:



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

Излаз
2 4 1 5 3 

Ц ++ такође пружа више метода за копирање вектора у други вектор. Они су следећи:

Табела садржаја

Коришћење векторског конструктора

Још један једноставан начин копирања вектора у време декларације је преношењем оригиналног вектора у конструктору копирања другог Вектор.



гит команде за пусх
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; } 

Излаз
2 4 1 5 3 

Коришћење копирања ()

Тхе Копија () Функција је наша метода за копирање података у Ц ++. Може копирати један вектор у други коришћење њихових итерататора. Штавише цопи_иф () Варијанта ове функције може обављати и селективну копију на основу функције Унарне предиката.

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

Излаз
2 4 1 5 3 

Објашњење: Морамо да користимо Бацк_Инертор () Функција ако нисмо навели величину вектора током декларације. Ако смо већ имали довољно простора, онда морамо проћи в2.бегин () уместо тога.

Коришћење векторског додељеног ()

Тхе векторски додељени () Метода је еквивалентна методи оператора, али му је потребна итератор вектору да се копира.



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

Излаз
2 4 1 5 3 

Коришћење векторског уметка ()

Тхе Векторски уметак () Метода пружа верзију која може да копира све елементе из датог распона. Ово се може користити за копирање целог вектора на други на сличан начин као што је метода додељивања ().

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

Излаз
2 4 1 5 3 

Коришћење вектора пусх_бацк ()

Притисните све елементе првог вектора у други вектор користећи Вецтор Пусх_бацк () Метода. Петља може бити итерација кроз први вектор.

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

Излаз
2 4 1 5 3 

Ова метода пружа више контроле јер такође можемо да изменимо елемент ако је потребно пре копирања.