Copiar vector C ++

Copiar vector C ++
Los vectores son contenedores secuenciales que representan matrices de tamaño variable. Los vectores, como las matrices, utilizan espacios de almacenamiento contiguos para sus elementos, lo que significa que se puede acceder utilizando rangos en punteros ordinarios a sus elementos de la misma manera que las matrices pueden. Sin embargo, a diferencia de las matrices, su tamaño varía dinámicamente, con el almacenamiento de manejo de contenedores automáticamente.

En la situación de las matrices, la única forma de copiar una matriz en otra es usar un enfoque iterativo, que implica ejecutar un bucle y copiar cada elemento en su índice apropiado. Afortunadamente, las clases de vectores incluyen muchas formas de copiar un vector completo en otro de una manera más conveniente.

Copiar un vector implica crear un nuevo vector que tenga una copia de todos los componentes en el vector original en el mismo orden.

Ejemplo 1: STD :: Copiar método para copiar vector en c++

La copia std :: es una función incorporada para copiar elementos de un vector al otro. Sin embargo, asegúrese de que el vector objetivo tenga suficiente espacio para contener todos los componentes de la secuencia original.

El programa tiene la sección de encabezado con los archivos requeridos. Primero, tenemos el archivo IOSTream; Luego, tenemos un archivo vectorial, un archivo de biblioteca estándar incorporado en C++. A través de esta biblioteca, podemos usar vectores en el programa. A continuación, tenemos un archivo de encabezado de algoritmo para copiar elementos de vectores. También hemos incluido el archivo iterador en el programa, que nos permite acceder a los elementos en los vectores.

Ahora, tenemos la función principal en la que hemos declarado una variable como "VEC1" del tipo de vector y la inicializó con la matriz entera. A continuación, hemos declarado otra variable de tipo vector como "VEC2". Luego, invocó la función de copia, que copia todos los elementos de "VEC1" a "VEC2". La función begin () toma el primer iterador vectorial, la función end () toma el último iterador vectorial y el back_insertor aquí inserta los elementos desde atrás.

Luego tenemos la condición de bucle, que boza el ciclo sobre cada elemento almacenado en el "VEC1" e imprime los elementos. Lo mismo es el caso de los elementos "VEC2"; También itera a través del ciclo for bucle e imprimirá en la pantalla de inmediato.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
vector vec1 3, 6, 6, 11;
vector vec2;
Copia (VEC1.begin (), vec1.end (), back_inserter (vec2));
cout << "Elements of Vector1 : ";
para (int v = 0; vcout << vec1[v] << " ";
cout << endl;
cout << "Elements of Vector2 : ";
para (int v = 0; vcout << vec2[v] << " ";
cout<< endl;
regresar 0;

La salida del programa anterior demuestra que el vector se copió al otro vector.

Ejemplo2: asignar () método para copiar vector en c++

Otra alternativa es utilizar el método de miembro público de la clase Vector Asignar (), que sustituye los elementos vectoriales con elementos del rango definido.

Hemos incluido todos los archivos requeridos en la sección del encabezado, lo que nos permite acceder a los elementos vectoriales, copiar el elemento vectorial y también nos permite usar vectores en el programa. Además, el archivo STD del espacio de nombres se incluye en el encabezado del programa.

El siguiente paso es invocar la función principal en la que se ha realizado la implementación del programa para la ejecución. Primero, hemos definido una variable de tipo vector "A" que almacena enteros en un patrón de matriz. Luego, tenemos otra variable, "b" también de tipo vectorial.

Después de definir la variable, hemos usado el método asigne (), que devuelve el iterador que apunta al primer y último vector "a". El método de asignación copió los elementos "A" del vector a los elementos del vector "B". Ahora, el bucle for se usa para iterar sobre los elementos "A" vectoriales e imprimirá los elementos de Vector "A". El bucle for también se usa para los elementos de iteración en el vector "B" y muestra estos elementos a través del comando Cout.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
vector a 3, 5, 7, 9, 11;
vector b;
b.asignar (a.begin (), un.fin());
cout << "Elements of vector : ";
para (int i = 0; icout << a[i] << " ";
cout << endl;
cout << "Elements of new vector : ";
para (int i = 0; icout << b[i] << " ";
cout<< endl;
regresar 0;

El vector se copia al otro vector. Por lo tanto, también podemos usar la función de asignación en C ++ para copiar elementos de vector a los otros elementos del vector.

Ejemplo 3: Método del operador de asignación para copiar vector en c++

Un vector también se puede copiar en otro vector con el operador de asignación. La razón por la cual este operador de asignación funciona es que solo sobrescribe a los miembros existentes si es accesible para alguno de estos, de lo contrario asigna el elemento desde donde se copia.

El primer paso ha incluido archivos esenciales en la sección del encabezado requerido para este programa. Además, tenemos un archivo STD de espacio de nombres para usar su función en el programa. Luego, tenemos la función principal en la que hemos declarado dos variables, "vector1" y "vector2" de tipo vector. Solo "Vector1" se inicializa con la matriz de enteros.

Ahora, tenemos un operador de asignación (=) que copia los elementos "vector1" a los elementos "vector2" simplemente colocando el operador "=" entre "vector1" y "vector2". El bucle for se usa para la iteración sobre los vectores dados respectivamente e imprime los elementos presentes en los vectores especificados a través del objeto Cout.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
vector vector1 0, 2, 4, 6, 8;
vector vector2;
vector2 = vector1;
cout << "vector1 elements : ";
para (int i = 0; icout << vector1[i] << " ";
cout << endl;
cout << "vector2 elements : ";
para (int i = 0; icout << vector2[i] << " ";
cout<< endl;
regresar 0;

Los elementos vector1 se copian a los elementos Vector2 como se muestra en la siguiente pantalla de aviso.

Ejemplo 4: método de constructor para copiar vector en c++

Cuando se declara un vector, pasar un vector inicializado existente copia los elementos del vector dado al vector recién declarado. Tenemos que proporcionar un vector de origen al vector de destino como constructor, que luego se llamará el constructor de copias.

Comenzando con la sección del encabezado, tenemos algunos archivos estándar de biblioteca incorporados de C ++ que son necesarios para este programa. Luego se invoca la función principal donde hemos declarado una variable de tipo vector como "P". La variable "P" contiene la matriz de enteros. Luego, declarar un nuevo vector como "P" y pasar un elemento de un vector existente "P" en el método del constructor.

A través del método del constructor, los elementos de vector "P" se copian al vector "Q". El bucle for se usa tanto para los vectores "P" como para "Q" y se imprimirá en la pantalla rápida de Ubuntu.

#incluir
#incluir
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
vector P 1996, 1997, 1998, 1999;
vector Q (P);
cout << "Elements of old vector : ";
para (int i = 0; icout << p[i] << " ";
cout << endl;
cout << "Elements of new vector: ";
para (int i = 0; icout << q[i] << " ";
cout<< endl;
regresar 0;

Por lo tanto, los elementos se copian del antiguo vector "P" al nuevo vector "Q" en la siguiente pantalla.

Conclusión

Aprendimos sobre muchos métodos para copiar un vector en un nuevo vector. Hemos utilizado cuatro enfoques diferentes para copiar vectores en C++. Estos enfoques incluyeron el método STD :: Copy, el método de asignación, el método del operador de asignación y un vector de origen de aprobación como constructor. Con los resultados probados de estos métodos utilizados en el programa, hemos copiado los elementos de los elementos vectoriales existentes al vector recién formado en el lenguaje de programación C ++.