Kopiuj wektor c ++

Kopiuj wektor c ++
Wektory to sekwencyjne pojemniki reprezentujące tablice o zmiennym rozmiarze. Wektory, podobnie jak tablice, wykorzystują ciągłe przestrzenie do przechowywania dla swoich elementów, co oznacza, że ​​można uzyskać do nich dostęp za pomocą zakresów zwykłych wskaźników do swoich elementów w taki sam sposób, jak tablice. Jednak w przeciwieństwie do tablic, ich rozmiar zmienia się dynamicznie, a automatycznie obsługuje kontenera pamięć.

W sytuacji tablic jedynym sposobem skopiowania jednej tablicy do drugiej jest zastosowanie podejścia iteracyjnego, które obejmuje uruchamianie pętli i kopiowanie każdego elementu przy odpowiednim indeksie. Na szczęście klasy wektorowe zawierają wiele sposobów kopiowania całego wektora w inny sposób.

Kopiowanie wektora implikuje utworzenie nowego wektora, który ma kopię wszystkich komponentów w oryginalnym wektorze w tej samej kolejności.

Przykład 1: STD :: Kopiuj metodę kopiowania wektora w C++

STD :: Kopia to wbudowana funkcja do kopiowania elementów jednego wektora do drugiego. Jednak upewnij się, że wektor docelowy ma wystarczającą ilość miejsca, aby pomieścić wszystkie elementy oryginalnej sekwencji.

Program ma sekcję nagłówka z wymaganymi plikami. Najpierw mamy plik iostream; Następnie mamy plik wektorowy, standardowy wbudowany plik biblioteki w C++. Za pośrednictwem tej biblioteki możemy używać wektorów w programie. Następnie mamy plik nagłówka algorytmu do kopiowania elementów wektorów. Uwzględniliśmy również plik iterator w programie, który pozwala nam uzyskać dostęp do elementów w wektorach.

Teraz mamy główną funkcję, w której zadeklarowaliśmy zmienną jako „VEC1” typu wektora i zainicjowaliśmy ją z tablicą liczb całkowitych. Następnie zadeklarowaliśmy inną zmienną typu wektora jako „VEC2”. Następnie wywołał funkcję kopiowania, która kopiuje wszystkie elementy „VEC1” do „VEC2”. Funkcja początkowa () przyjmuje pierwszy iterator wektorowy, funkcja END () bierze ostatni iterator wektorowy, a tutaj podkłada elementy z tyłu.

Następnie mamy warunek pętli, który zapętla cykl nad każdym elementem przechowywanym w „VEC1” i drukuje elementy. To samo dotyczy elementów „VEC2”; Itera również przez cykl pętania i będzie drukowany na notych ekranu.

#włączać
#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
wektor VEC1 3, 6, 6, 11;
wektor VEC2;
Kopia (VEC1.początek (), VEC1.end (), back_inserter (VEC2));
Cout << "Elements of Vector1 : ";
for (int v = 0; vCout << vec1[v] << " ";
Cout << endl;
Cout << "Elements of Vector2 : ";
for (int v = 0; vCout << vec2[v] << " ";
Cout<< endl;
powrót 0;

Powyższe wyjście programu pokazuje, że wektor został skopiowany do drugiego wektora.

Przykład2: przypisanie () metoda kopiowania wektora w c++

Inną alternatywą jest użycie metody członka publicznego klasy wektorowej (), która zastępuje elementy wektorowe elementami z określonego zakresu.

Uwzględniliśmy wszystkie wymagane pliki w sekcji nagłówka, które pozwala nam uzyskać dostęp do elementów wektorowych, kopiowanie elementu wektora, a także pozwalają nam używać wektorów w programie. Ponadto plik STD przestrzeni nazw jest zawarty w nagłówku programu.

Następnym krokiem jest wywołanie głównej funkcji, w której wykonano implementację programu w celu wykonania. Najpierw zdefiniowaliśmy zmienną typu wektora „A”, która przechowuje liczby całkowite w wzorze tablicy. Następnie mamy inną zmienną, „B” również typu wektora.

Po zdefiniowaniu zmiennej zastosowaliśmy metodę Assign (), która zwraca iterator wskazujący na pierwszy i ostatni wektor „A”. Metoda przypisania skopiowała elementy wektora „A” do elementów wektora „B”. Teraz pętla jest używana do iteracji elementów wektora „A” i wydrukuje elementy wektora „A”. Pętla jest również używana do iteracji na elementach wektora „B” i wyświetla te elementy za pośrednictwem polecenia Cout.

#włączać
#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
wektor A 3, 5, 7, 9, 11;
wektor B;
B.przypisać (a.początek (), a.koniec());
Cout << "Elements of vector : ";
dla (int i = 0; iCout << a[i] << " ";
Cout << endl;
Cout << "Elements of new vector : ";
dla (int i = 0; iCout << b[i] << " ";
Cout<< endl;
powrót 0;

Wektor jest kopiowany do drugiego wektora. Dlatego możemy również użyć funkcji przypisania w C ++ do kopiowania elementów wektora do innych elementów wektora.

Przykład 3: Metoda operatora przypisania do kopiowania wektora w c++

Wektor można również skopiować do innego wektora z operatorem przypisania. Powodem, dla którego działa taki operator przypisania, jest to, że po prostu zastąpi on istniejących członków, jeśli którykolwiek z nich jest dostępny, w przeciwnym razie przypisuje element, z którego jest skopiowany.

Pierwszy krok zawierał niezbędne pliki w sekcji nagłówka wymagane dla tego programu. Mamy również plik STD w przestrzeni nazw, aby używać jego funkcji w programie. Następnie mamy główną funkcję, w której zadeklarowaliśmy dwie zmienne, „wektor1” i „wektor2” typu wektora. Tylko „Vector1” jest inicjowany za pomocą tablicy całkowitej.

Teraz mamy operatora przypisania (=), który kopiuje elementy „Vector1” do elementów „Vector2”, po prostu umieszczając operator „=” pomiędzy „Vector1” i „Vector2”. Pętla dla iteracji jest używana odpowiednio zarówno na podanych wektorach, jak i drukuje elementy obecne w określonych wektorach za pośrednictwem obiektu Cout.

#włączać
#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
wektor Vector1 0, 2, 4, 6, 8;
wektor wektor2;
vector2 = vector1;
Cout << "vector1 elements : ";
dla (int i = 0; iCout << vector1[i] << " ";
Cout << endl;
Cout << "vector2 elements : ";
dla (int i = 0; iCout << vector2[i] << " ";
Cout<< endl;
powrót 0;

Elementy Vector1 są kopiowane do elementów Vector2, jak pokazano na poniższym ekranie szybkiego.

Przykład 4: Metoda konstruktora do kopiowania wektora w c++

Gdy wektor jest zadeklarowany, przekazanie istniejącego zainicjowanego wektora kopiuje elementy danego wektora do nowo ogłoszonego wektora. Musimy dostarczyć wektor źródłowy do wektora docelowego jako konstruktor, który następnie zostanie nazwany konstruktorem kopii.

Począwszy od sekcji nagłówka, mamy standardowe wbudowane pliki biblioteczne C ++, które są potrzebne do tego programu. Następnie wywoływana jest główna funkcja, w której zadeklarowaliśmy zmienną typu wektora jako „P”. Zmienna „P” zawiera tablicę liczb całkowitych. Następnie, deklarowanie nowego wektora jako „P” i przekazanie elementu z istniejącego wektora „P” w metodzie konstruktora.

Za pomocą metody konstruktora elementy „P” wektora są kopiowane do wektora „Q”. Pętla jest używana zarówno dla wektorów „P”, jak i „Q” i zostanie wydrukowana na szybkim ekranie Ubuntu.

#włączać
#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
wektor P 1996, 1997, 1998, 1999;
wektor Q (p);
Cout << "Elements of old vector : ";
dla (int i = 0; iCout << p[i] << " ";
Cout << endl;
Cout << "Elements of new vector: ";
dla (int i = 0; iCout << q[i] << " ";
Cout<< endl;
powrót 0;

Stąd elementy są kopiowane ze starego wektora „P” do nowego wektora „Q” na poniższym ekranie.

Wniosek

Dowiedzieliśmy się o wielu metodach kopiowania wektora do nowego wektora. Zastosowaliśmy cztery różne podejścia do kopiowania wektorów w C++. Podejścia te obejmowały metodę STD :: Kopiuj metodę przypisania, metodę operatora przypisania i wektor źródłowy jako konstruktor. Dzięki sprawdzonym wynikom tych metod zastosowanych w programie skopiowaliśmy elementy istniejących elementów wektorowych do nowo utworzonego wektora w języku programowania C ++.