cpp-que-son-vector

Qué son y cómo usar Vector en C++

En C++, un vector es una colección que implementa un array con tamaño dinámico (es decir, que se ajusta automáticamente en tamaño según sea necesario).

La clase std::vector en la biblioteca estándar de C++ proporciona una implementación. A diferencia de los arrays tradicionales, los vectores permiten la adición y eliminación de elementos.

Declaración de vectors

Para declarar un vector en C++, se utiliza la siguiente sintaxis:

#include <vector>

std::vector<tipo> nombreVector;
  • tipo: Es el tipo de datos que contendrá el vector, como int, double, std::string, etc.
  • nombreVector: Es el identificador del vector.

Por ejemplo, para declarar un vector de enteros:

#include <vector>

std::vector<int> numeros;

Creación e inicialización de vectors

Una vez declarado un vector, debemos inicializarlo antes de usarlo.

Puedes crear un vector vacío y luego agregarle elementos:

std::vector<int> numeros; // Vector vacío

Puedes inicializar un vector con un tamaño específico, donde todos los elementos se inicializan con un valor predeterminado (generalmente 0 para tipos numéricos):

std::vector<int> numeros(5); // Vector con 5 elementos, todos inicializados a 0

Para inicializar un vector con valores específicos, puedes utilizar la siguiente sintaxis:

std::vector<int> numeros = {1, 2, 3, 4, 5}; // Vector con valores 1, 2, 3, 4, 5

También puedes inicializar un vector con un tamaño específico y un valor inicial para todos los elementos:

std::vector<int> numeros(5, 10); // Vector con 5 elementos, todos inicializados a 10

Uso básico de vectors

Acceder a elementos

Los elementos de un vector se pueden acceder mediante índices, comenzando desde 0:

std::vector<int> numeros = {1, 2, 3, 4, 5};

int primerNumero = numeros[0]; // primerNumero será 1
std::cout << "El primer número es: " << primerNumero << std::endl;

Alternativamente podemos usar el método at, que proporciona acceso seguro a los elementos (lanzando una excepción si el índice está fuera de los límites).

int segundo_elemento = numeros.at(1);

Modificar elementos

Puedes modificar los elementos del vector asignando nuevos valores a índices específicos:

std::vector<int> numeros = {1, 2, 3, 4, 5};

numeros[1] = 20; // El segundo elemento del vector ahora será 20
std::cout << "El segundo número modificado es: " << numeros[1] << std::endl;

Añadir elementos a un vector

Para añadir elementos al final del vector, se utiliza el método push_back:

std::vector<int> numeros = {1, 2, 3};
numeros.push_back(4); // Añade el número 4 al final del vector

std::cout << "Vector después de añadir un elemento: ";
for (int num : numeros) {
    std::cout << num << " ";
}
std::cout << std::endl;

Eliminar elementos de un vector

Para eliminar un elemento del final del vector, utiliza el método pop_back:

std::vector<int> numeros = {1, 2, 3, 4};
numeros.pop_back(); // Elimina el último elemento (4)

std::cout << "Vector después de eliminar un elemento: ";
for (int num : numeros) {
    std::cout << num << " ";
}
std::cout << std::endl;

También puedes eliminar un elemento en una posición específica usando el método erase:

std::vector<int> numeros = {1, 2, 3, 4, 5};
numeros.erase(numeros.begin() + 2); // Elimina el tercer elemento (3)

std::cout << "Vector después de eliminar un elemento en posición 2: ";
for (int num : numeros) {
    std::cout << num << " ";
}
std::cout << std::endl;

Insertar elementos en una posición específica

Para insertar un elemento en una posición específica del vector, utiliza el método insert:

std::vector<int> numeros = {1, 2, 4, 5};
numeros.insert(numeros.begin() + 2, 3); // Inserta el número 3 en la posición 2

std::cout << "Vector después de insertar un elemento en posición 2: ";
for (int num : numeros) {
    std::cout << num << " ";
}
std::cout << std::endl;

Propiedades y métodos útiles

Los vectors en C++ ofrecen varias propiedades y métodos para manipular y acceder a sus elementos de manera eficiente:

Ejemplos prácticos