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 | |
| begincbegin | Devuelve un iterador al principio del contenedor | 
| endcend | Devuelve un iterador al final del contenedor | 
| rbegincrbegin | Devuelve un iterador reverso al principio del contenedor | 
| rendcrend | 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/