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. Los elementos vectoriales se colocan en almacenamiento contiguo para que se pueda acceder a ellos y recorrerlos mediante iteradores. En los vectores, los datos se insertan al final. La inserción al final requiere un tiempo diferencial, ya que a veces es posible que sea necesario ampliar la array. Eliminar el último elemento lleva solo un tiempo constante porque no se cambia el tamaño. Insertar y borrar al principio o en el medio es lineal en el tiempo.
- begin() : devuelve un iterador que apunta al primer elemento del vector.
- end() : devuelve un iterador que apunta al elemento teórico que sigue al último elemento del vector
- rbegin() : devuelve un iterador inverso que apunta al último elemento del vector (comienzo inverso). Se mueve del último al primer elemento.
- rend() : devuelve un iterador inverso que apunta al elemento teórico que precede al primer elemento del vector (considerado como extremo inverso)
- cbegin() : devuelve un iterador constante que apunta al primer elemento del vector.
- cend() : devuelve un iterador constante que apunta al elemento teórico que sigue al último elemento del vector.
- crbegin() : devuelve un iterador inverso constante que apunta al último elemento del vector (comienzo inverso). Se mueve del último al primer elemento.
- crend() : devuelve un iterador inverso constante que apunta al elemento teórico que precede al primer elemento en el vector (considerado como extremo inverso)
CPP
// C++ program to illustrate the // iterators in vector #include <iostream> #include <vector> using namespace std; int main() { vector<int> g1; for (int i = 1; i <= 5; i++) g1.push_back(i); cout << "Output of begin and end: "; for (auto i = g1.begin(); i != g1.end(); ++i) cout << *i << " "; cout << "\nOutput of cbegin and cend: "; for (auto i = g1.cbegin(); i != g1.cend(); ++i) cout << *i << " "; cout << "\nOutput of rbegin and rend: "; for (auto ir = g1.rbegin(); ir != g1.rend(); ++ir) cout << *ir << " "; cout << "\nOutput of crbegin and crend : "; for (auto ir = g1.crbegin(); ir != g1.crend(); ++ir) cout << *ir << " "; return 0; }
CPP
// C++ program to illustrate the // capacity function in vector #include <iostream> #include <vector> using namespace std; int main() { vector<int> g1; for (int i = 1; i <= 5; i++) g1.push_back(i); cout << "Size : " << g1.size(); cout << "\nCapacity : " << g1.capacity(); cout << "\nMax_Size : " << g1.max_size(); // resizes the vector size to 4 g1.resize(4); // prints the vector size after resize() cout << "\nSize : " << g1.size(); // checks if the vector is empty or not if (g1.empty() == false) cout << "\nVector is not empty"; else cout << "\nVector is empty"; // Shrinks the vector g1.shrink_to_fit(); cout << "\nVector elements are: "; for (auto it = g1.begin(); it != g1.end(); it++) cout << *it << " "; return 0; }
CPP
// C++ program to illustrate the // element access in vector #include <bits/stdc++.h> using namespace std; int main() { vector<int> g1; for (int i = 1; i <= 10; i++) g1.push_back(i * 10); cout << "\nReference operator [g] : g1[2] = " << g1[2]; cout << "\nat : g1.at(4) = " << g1.at(4); cout << "\nfront() : g1.front() = " << g1.front(); cout << "\nback() : g1.back() = " << g1.back(); // pointer to the first element int* pos = g1.data(); cout << "\nThe first element is " << *pos; return 0; }
CPP
// C++ program to illustrate the // Modifiers in vector #include <bits/stdc++.h> #include <vector> using namespace std; int main() { // Assign vector vector<int> v; // fill the array with 10 five times v.assign(5, 10); cout << "The vector elements are: "; for (int i = 0; i < v.size(); i++) cout << v[i] << " "; // inserts 15 to the last position v.push_back(15); int n = v.size(); cout << "\nThe last element is: " << v[n - 1]; // removes last element v.pop_back(); // prints the vector cout << "\nThe vector elements are: "; for (int i = 0; i < v.size(); i++) cout << v[i] << " "; // inserts 5 at the beginning v.insert(v.begin(), 5); cout << "\nThe first element is: " << v[0]; // removes the first element v.erase(v.begin()); cout << "\nThe first element is: " << v[0]; // inserts at the beginning v.emplace(v.begin(), 5); cout << "\nThe first element is: " << v[0]; // Inserts 20 at the end v.emplace_back(20); n = v.size(); cout << "\nThe last element is: " << v[n - 1]; // erases the vector v.clear(); cout << "\nVector size after erase(): " << v.size(); // two vector to perform swap vector<int> v1, v2; v1.push_back(1); v1.push_back(2); v2.push_back(3); v2.push_back(4); cout << "\n\nVector 1: "; for (int i = 0; i < v1.size(); i++) cout << v1[i] << " "; cout << "\nVector 2: "; for (int i = 0; i < v2.size(); i++) cout << v2[i] << " "; // Swaps v1 and v2 v1.swap(v2); cout << "\nAfter Swap \nVector 1: "; for (int i = 0; i < v1.size(); i++) cout << v1[i] << " "; cout << "\nVector 2: "; for (int i = 0; i < v2.size(); i++) cout << v2[i] << " "; }
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA