Contenedor Vector
El elemento vector es un contenedor que funciona como un arreglo de tamaño dinámico.
- Funcionamiento
- Eficiencia
- Funciones miembro
- Funciones no miembro
- Ejemplo general
Funcionamiento
Los elementos dentro de vector son almacenados de manera contigua (como en un arreglo) por lo tanto, se puede acceder a cada elemento usando iteradores o también los punteros regulares que usamos en los arreglos [ ], de esta manera, podemos decir que podemos hacer referencias a un vector, de manera muy similar a como lo hacemos en un arreglo estático.
La capacidad de vector es manejada de manera automática, por lo que crece o disminuye según sea necesario. Es decir, cuando declaramos un arreglo tradicional, declaramos también la capacidad de éste. Con un contenedor vector no es necesario especificar el tamaño. Pues crece o se minimiza según se vaya necesitando.
La capacidad total de un contenedor de este tipo, es variada, pero puede ser solicitada usando la función capacity()
Eficiencia
| Para acceso aleatorio a un elemento | constante | \(O(l)\) |
| Insertar o remover un elemento al final del contenedor | constante | \(O(l)\) |
| Insertar o remover un elemento | lineal en función de la distancia a la que esté del final | \(O(n)\) |
Funciones miembro
| Función | Definición |
|---|---|
| (constructor) | Construye un contenedor vector, es lo que nos permite declararlo. |
| (destructor) | Destruye el vector |
Operador = |
Asigna valores al contenedor |
get_allocator |
Regresa el asignador asociado |
| Acceso a elementos | |
at |
Accede al elemento especificado del contenedor con comprobación de límites |
Operador [] |
Accede al elemento especificado |
front |
Accede al primer elemento del contenedor |
back |
Accede al último elemento del contenedor |
| Iteradores | |
begin cbegin |
Devuelve un iterador al principio del contenedor |
end cend |
Devuelve un iterador al final del contenedor |
rbegin crbegin |
Devuelve un iterador reverso al principio del contenedor |
rend crend |
Devuelve un iterador reverso al final del contenedor |
| Capacidad | |
empty |
Checa si el contenedor está vacío |
size |
Regresa el número de elementos en el contenedor |
max_size |
Regresa el máximo número posible de elementos |
reserve |
Reserva almacenamiento |
capacity |
Regresa el número de elementos que pueden ser almacenados en el contenedor con el espacio actual |
shrink_to_fit (C++11) |
Reduce a memoria usada liberando el espacio no utilizado |
| Modificadores | |
clear |
Limpia el contenido del contenedor |
insert |
Inserta elementos en el contenedor |
erase |
Borra elementos |
push_back |
Agrega un elemento al final del contenedor |
pop_back |
Quita el último elemento del contenedor |
resize |
Cambia la cantidad de elementos almacenados |
swap |
Intercambia el contenido |
Funciones no miembro
| Función | Definición |
|---|---|
Operadores ==, !=, <, <=, >, >= |
Compara lexicográficamente los valores del vector |
Ejemplo general
Salida del anterior programa.
No olvides examinar cuidadosamente el programa anterior y su comportamiento en tu IDE favorito.
Cita esta página
Include Poetry - Code. (2020, 4 de enero). Contenedor Vector. Obtenido de https://www.include-poetry.com/Code/C++/Estructuras/STL/Vector/