Los vectores son lo mismo que las arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento.
Este operador se utiliza para asignar nuevos contenidos al contenedor reemplazando los contenidos existentes.
También modifica el tamaño según los nuevos contenidos.
Sintaxis:
vectorname1 = (vectorname2) Parameters : Another container of the same type. Result : Assign the contents of the container passed as parameter to the container written on left side of the operator.
Ejemplos:
Input : myvector1 = 1, 2, 3 myvector2 = 3, 2, 1, 4 myvector1 = myvector2; Output : myvector1 = 3, 2, 1, 4 Input : myvector1 = 2, 6, 1, 5 myvector2 = 3, 2 myvectoe1 = myvector2; Output : myvector1 = 3, 2
Errores y Excepciones
1. Si los contenedores son de diferentes tipos, se arroja un error.
2. De lo contrario, tiene una garantía básica de lanzamiento sin excepción.
Complejidad del tiempo: lineal O (N)
C++
// CPP program to illustrate // Implementation of = operator #include <iostream> #include <vector> using namespace std; int main() { vector<int> myvector1{ 1, 2, 3 }; vector<int> myvector2{ 3, 2, 1, 4 }; myvector1 = myvector2; cout << "myvector1 = "; for (auto it = myvector1.begin(); it != myvector1.end(); ++it) cout << ' ' << *it; return 0; }
Producción:
myvector1= 3 2 1 4
Este operador se usa para hacer referencia al elemento presente en la posición dada dentro del operador. Es similar a la función at(), la única diferencia es que la función at() arroja una excepción fuera de rango cuando la posición no está dentro de los límites del tamaño del vector, mientras que este operador provoca un comportamiento indefinido .
Sintaxis:
vectorname[position] Parameters : Position of the element to be fetched. Returns : Direct reference to the element at the given position.
Ejemplos:
Input : myvector = 1, 2, 3 myvector[2]; Output : 3 Input : myvector = 3, 4, 1, 7, 3 myvector[3]; Output : 7
Errores y excepciones
1. Si la posición no está presente en el vector, muestra un comportamiento indefinido.
2. Tiene una garantía de tiro sin excepción en caso contrario.
Complejidad del Tiempo – Constante O(1)
C++
// CPP program to illustrate // Implementation of [] operator #include <iostream> #include <vector> using namespace std; int main() { vector<int> myvector; myvector.push_back(3); myvector.push_back(4); myvector.push_back(1); myvector.push_back(7); myvector.push_back(3); cout << myvector[3]; return 0; }
Producción:
7
Aplicación
Dado un vector de enteros, imprima todos los enteros presentes en posiciones impares.
Input :1, 2, 3, 4, 5, 6, 7, 8, 9 Output :2 4 6 8 Explanation - 2, 4, 6, and 8 are at position 1, 3, 5 and 7 which are odd
Algoritmo
1. Ejecutar un ciclo hasta el tamaño del vector.
2. Verifique si la posición no es divisible por 2, luego imprima el elemento en esa posición.
C++
// CPP program to illustrate // Application of [] operator #include <iostream> #include <vector> using namespace std; int main() { vector<int> myvector; myvector.push_back(1); myvector.push_back(2); myvector.push_back(3); myvector.push_back(4); myvector.push_back(5); myvector.push_back(6); myvector.push_back(7); myvector.push_back(8); myvector.push_back(9); // Vector becomes 1, 2, 3, 4, 5, 6, 7, 8, 9 for (int i = 0; i < myvector.size(); ++i) { if (i % 2 != 0) { cout << myvector[i]; cout << " "; } } return 0; }
Producción:
2 4 6 8
Veamos las diferencias en forma tabular -:
vector::operador= | vector::operador[ ] | |
1. | Se utiliza para asignar nuevos contenidos al contenedor y reemplazar su contenido actual | Se utiliza para asignar nuevos contenidos al contenedor reemplazando su contenido actual. |
2. |
Su sintaxis es -: vector& operador= (const vector& x); |
Su sintaxis es -: vector& operador= (const vector& x); |
3. |
Toma dos parámetros -: 1. Un objeto vectorial del mismo tipo 2. Un objeto initializer_list. |
Toma dos parámetros que son -: 1. Un objeto vectorial del mismo tipo 2. Un objeto initializer_list. |
4. | Su complejidad es lineal. | Su complejidad es lineal. |
5. | Se define en el archivo de encabezado <vector> . | Se define en el archivo de encabezado <vector>. |
Publicación traducida automáticamente
Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA