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.
La función at() se utiliza para hacer referencia al elemento presente en la posición dada como parámetro de la función.
Sintaxis:
vectorname.at(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.at(2); Output: 3 Input: myvector = 3, 4, 1, 7, 3 myvector.at(3); Output: 7
Errores y excepciones
- Si la posición no está presente en el vector, lanza out_of_range .
- De lo contrario, tiene una fuerte garantía de tiro sin excepción.
Complejidad del Tiempo – Constante O(1)
C++
// CPP program to illustrate // Implementation of at() function #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.at(3); return 0; }
7
Aplicaciones:
Dado un vector de enteros, imprime todos los enteros presentes en posiciones pares.
Input: 1, 2, 3, 4, 5, 6, 7, 8, 9 Output: 1 3 5 7 9 Explanation - 1, 3, 5, 7 and 9 are at position 0, 2, 4, 6 and 8 which are even
Algoritmo
- Ejecute un bucle hasta el tamaño del vector.
- Compruebe si la posición es divisible por 2, en caso afirmativo, imprima el elemento en esa posición.
C++
// CPP program to illustrate // Application of at() function #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 += 2) { cout << myvector.at(i); cout << " "; } return 0; }
1 3 5 7 9
Esta función se utiliza para intercambiar el contenido de un vector con otro vector del mismo tipo y los tamaños de los vectores pueden diferir.
Sintaxis:
vectorname1.swap(vectorname2) Parameters: The name of the vector with which the contents have to be swapped. Result: All the elements of the 2 vectors are swapped.
Ejemplos:
Input: myvector1 = {1, 2, 3, 4} myvector2 = {3, 5, 7, 9} myvector1.swap(myvector2); Output: myvector1 = {3, 5, 7, 9} myvector2 = {1, 2, 3, 4} Input: myvector1 = {1, 3, 5, 7} myvector2 = {2, 4, 6, 8} myvector1.swap(myvector2); Output: myvector1 = {2, 4, 6, 8} myvector2 = {1, 3, 5, 7}
Errores y excepciones
- Lanza un error si el vector no es del mismo tipo.
- De lo contrario, tiene una garantía básica de tiro sin excepción.
Complejidad del Tiempo – Constante O(1)
C++
// CPP program to illustrate // Implementation of swap() function #include <iostream> #include <vector> using namespace std; int main() { // vector container declaration vector<int> myvector1{ 1, 2, 3, 4 }; vector<int> myvector2{ 3, 5, 7, 9 }; // using swap() function to swap // elements of vector myvector1.swap(myvector2); // printing the first vector cout << "myvector1 = "; for (auto it = myvector1.begin(); it < myvector1.end(); ++it) cout << *it << " "; // printing the second vector cout << endl << "myvector2 = "; for (auto it = myvector2.begin(); it < myvector2.end(); ++it) cout << *it << " "; return 0; }
myvector1 = 3 5 7 9 myvector2 = 1 2 3 4
Si el tamaño de los vectores difieren:
C++
// CPP program #include <iostream> #include <vector> using namespace std; int main() { vector<int> vec1{ 100, 100, 100 }; vector<int> vec2{ 200, 200, 200, 200, 200 }; vec1.swap(vec2); cout << "The vec1 contains:"; for (int i = 0; i < vec1.size(); i++) cout << ' ' << vec1[i]; cout << '\n'; cout << "The vec2 contains:"; for (int i = 0; i < vec2.size(); i++) cout << ' ' << vec2[i]; cout << '\n'; return 0; }
The vec1 contains: 200 200 200 200 200 The vec2 contains: 100 100 100
Veamos las diferencias en forma tabular -:
vector::en() | vector::intercambiar() | |
1. | Se utiliza para devolver una referencia al elemento en la posición n del vector. | Se utiliza para intercambiar los elementos de un vector con los elementos de otro vector. |
2. | Su sintaxis es -: referencia en (tamaño_tipo n); |
Su sintaxis es -: swap (vector& x); |
3. | Solo toma un parámetro que es la posición de un elemento en el contenedor. | Solo toma un parámetro que es el vector que queremos intercambiar. |
4. | Su complejidad es constante. | No tiene ningún valor de retorno. |
5. | Su validez de iterador no cambia. | Su complejidad es constante. |
Publicación traducida automáticamente
Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA