Copia Vector C ++

Copia Vector C ++
I vettori sono contenitori sequenziali che rappresentano matrici di dimensioni variabili. I vettori, come gli array, utilizzano spazi di archiviazione contigui per i loro elementi, il che significa che possono essere accessibili utilizzando gli intervalli su puntatori ordinari ai loro elementi nello stesso modo in cui gli array possono. Tuttavia, a differenza degli array, le loro dimensioni variano in modo dinamico, con l'archiviazione della gestione del contenitore automaticamente.

Nella situazione degli array, l'unico modo per copiare un array in un altro è usare un approccio iterativo, che prevede l'esecuzione di un ciclo e la copia di ciascun elemento al suo indice appropriato. Fortunatamente, le classi vettoriali includono molti modi per copiare un intero vettore in un altro in modo più conveniente.

La copia di un vettore implica la creazione di un nuovo vettore che ha una copia di tutti i componenti nel vettore originale nello stesso ordine.

Esempio 1: METODO STD :: Copia per copiare il vettore in C++

La copia std :: è una funzione integrata per la copia di elementi di un vettore all'altro. Tuttavia, assicurarsi che il vettore target abbia abbastanza spazio per contenere tutti i componenti della sequenza originale.

Il programma ha la sezione di intestazione con i file richiesti. Innanzitutto, abbiamo il file iostream; Quindi, abbiamo un file vettoriale, un file di libreria integrato standard in C++. Attraverso questa libreria, possiamo usare i vettori nel programma. Successivamente, abbiamo un file di intestazione dell'algoritmo per la copia di elementi di vettori. Abbiamo anche incluso il file iteratore nel programma, che ci consente di accedere agli elementi nei vettori.

Ora, abbiamo la funzione principale in cui abbiamo dichiarato una variabile come "VEC1" di tipo vettoriale e la inizializzata con l'array intero. Successivamente, abbiamo dichiarato un'altra variabile di tipo vettoriale come "VEC2". Quindi, ha invocato la funzione di copia, che copia tutti gli elementi di "VEC1" a "VEC2". La funzione Begin () prende il primo iteratore vettoriale, la funzione end () prende l'ultimo iteratore vettoriale e il back_insertor qui inserisce gli elementi dal retro.

Quindi abbiamo una condizione di loop, che si aggira il ciclo su ciascun elemento memorizzato nel "VEC1" e stampa gli elementi. Lo stesso è il caso di elementi "VEC2"; Iterato anche attraverso il ciclo per loop e stamperà sullo schermo prompt.

#includere
#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
vettore vec1 3, 6, 6, 11;
vettore VEC2;
Copia (VEC1.inizio (), vec1.end (), back_inserter (vec2));
cout << "Elements of Vector1 : ";
per (int v = 0; vcout << vec1[v] << " ";
cout << endl;
cout << "Elements of Vector2 : ";
per (int v = 0; vcout << vec2[v] << " ";
cout<< endl;
restituzione 0;

L'output del programma di cui sopra dimostra che il vettore è stato copiato all'altro vettore.

Esempio2: Metodo Assegna () per copiare il vettore in C++

Un'altra alternativa è utilizzare il metodo membro pubblico della classe vettoriale Assegna (), che sostituisce gli elementi vettoriali con elementi dell'intervallo definito.

Abbiamo incluso tutti i file richiesti nella sezione di intestazione, che ci consente di accedere agli elementi vettoriali, copiare l'elemento vettoriale e consentirci anche di utilizzare i vettori nel programma. Inoltre, il file STD dello spazio dei nomi è incluso nell'intestazione del programma.

Il prossimo passo è invocare la funzione principale in cui è stata eseguita l'implementazione del programma. Innanzitutto, abbiamo definito una variabile di tipo vettoriale "A" che memorizza i numeri interi in un modello di array. Quindi, abbiamo un'altra variabile, "b" anche di tipo vettoriale.

Dopo aver definito la variabile, abbiamo utilizzato il metodo Assegna (), che restituisce l'iteratore puntato al primo e all'ultimo vettore "A". Il metodo Assegna ha copiato gli elementi vettoriali "A" agli elementi vettoriali "B". Ora, il loop è usato per iterare sugli elementi “A” vettoriali e stamperà gli elementi del vettore “A”. Il loop è utilizzato anche per l'iterazione sugli elementi vettoriali "b" e visualizza questi elementi attraverso il comando cout.

#includere
#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
vettore a 3, 5, 7, 9, 11;
vettore B;
B.Assegna (a.inizio (), a.FINE());
cout << "Elements of vector : ";
per (int i = 0; icout << a[i] << " ";
cout << endl;
cout << "Elements of new vector : ";
per (int i = 0; icout << b[i] << " ";
cout<< endl;
restituzione 0;

Il vettore viene copiato sull'altro vettore. Quindi, possiamo anche utilizzare la funzione Assegna in C ++ per copiare gli elementi vettoriali sugli altri elementi del vettore.

Esempio 3: metodo dell'operatore di assegnazione per copiare il vettore in C++

Un vettore può anche essere copiato in un altro vettore con l'operatore di assegnazione. Il motivo per cui un tale operatore di assegnazione funziona è che sovrascrive i membri esistenti se uno di questi è accessibile, altrimenti assegna l'articolo da dove viene copiato.

Il primo passo ha incluso i file essenziali nella sezione di intestazione richiesta per questo programma. Inoltre, abbiamo un file STD dello spazio dei nomi per utilizzare la sua funzione nel programma. Quindi, abbiamo la funzione principale in cui abbiamo dichiarato due variabili, "vector1" e "vector2" di tipo vettoriale. Solo "Vector1" è inizializzato con l'array intero.

Ora, abbiamo un operatore di assegnazione (=) che copia gli elementi "vector1" agli elementi "vector2" semplicemente posizionando l'operatore "=" tra "Vector1" e "Vector2". Il ciclo for viene utilizzato rispettivamente per l'iterazione rispetto ai vettori dati e stampa gli elementi presenti nei vettori specificati attraverso l'oggetto Cout.

#includere
#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
vettore vector1 0, 2, 4, 6, 8;
vettore Vector2;
vector2 = vector1;
cout << "vector1 elements : ";
per (int i = 0; icout << vector1[i] << " ";
cout << endl;
cout << "vector2 elements : ";
per (int i = 0; icout << vector2[i] << " ";
cout<< endl;
restituzione 0;

Gli elementi Vector1 vengono copiati sugli elementi Vector2 come mostrato nella seguente schermata.

Esempio 4: metodo del costruttore per copiare il vettore in C++

Quando viene dichiarato un vettore, il passaggio di un vettore inizializzato esistente copia gli elementi del vettore dato nel vettore appena dichiarato. Dobbiamo fornire un vettore di origine al vettore di destinazione come costruttore, che verrà quindi chiamato il costruttore di copie.

A partire dalla sezione dell'intestazione, abbiamo alcuni file di libreria integrati standard di C ++ che sono necessari per questo programma. La funzione principale viene quindi invocata in cui abbiamo dichiarato una variabile di tipo vettoriale come "P". La variabile "P" contiene l'array di numeri interi. Quindi, dichiarando un nuovo vettore come "P" e passando un elemento da un vettore esistente "P" nel metodo del costruttore.

Attraverso il metodo del costruttore, gli elementi “P” vettoriali vengono copiati nel vettore “Q”. Il ciclo for viene utilizzato sia per i vettori "P" che per "Q" e verrà stampato sulla schermata prompt di Ubuntu.

#includere
#includere
#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
vettore P 1996, 1997, 1998, 1999;
vettore Q (P);
cout << "Elements of old vector : ";
per (int i = 0; icout << p[i] << " ";
cout << endl;
cout << "Elements of new vector: ";
per (int i = 0; icout << q[i] << " ";
cout<< endl;
restituzione 0;

Quindi, gli elementi vengono copiati dal vecchio vettore "P" al nuovo vettore "Q" nella schermata seguente.

Conclusione

Abbiamo appreso molti metodi per copiare un vettore in un nuovo vettore. Abbiamo usato quattro approcci diversi per la copia dei vettori in C++. Questi approcci includevano il metodo STD :: Copy, il metodo Assegna, il metodo dell'operatore di assegnazione e un vettore di origine di passaggio come costruttore. Con i risultati comprovati di questi metodi utilizzati nel programma, abbiamo copiato gli elementi degli elementi vettoriali esistenti nel vettore di nuova formazione nel linguaggio di programmazione C ++.