Tracks
/
C++
C++
/
Temario
/
Arrays y vectores
Ar

Arrays y vectores en C++

3 ejercicios

Acerca de Arrays y vectores

Arrays y vectores

C++ ofrece distintos contenedores para almacenar elementos del mismo tipo de forma ordenada. Existe std::array para contenedores de tamaño fijo y std::vector, que viene con capacidad de redimensionamiento dinámico.

Construcción

Cuando declaras un array o un vector, necesitas especificar el tipo de elementos que ese contenedor va a guardar. Los arrays también necesitan un tamaño. Mira estos ejemplos para ver la inicialización de los dos tipos de contenedores:

#include <array>
#include <string>

// std::array<element_type, size> variable_name {list of elements}
std::array<std::string, 3> indie_rock {"yeah", "yeah", "yeah"};
// indie_rock contains the elements "yeah" three times

Los vectores suelen necesitar más espacio, ya que reservan memoria para seguir creciendo. No necesitas especificar un tamaño:

#include <vector>

// std::vector<element_type> variable_name {list of elements}
std::vector<int> countdown {3, 2, 1};
// my_vector contains the elements 3, 2 and 1

Nota: Todavía no necesitas conocer la mecánica exacta detrás del concepto de plantilla; tendrá su propio concepto más abajo en el árbol del temario.

Acceso a los elementos

Los vectores y los arrays comparten las mismas funciones para acceder a sus elementos. Puedes usar las funciones miembro front y back para obtener el primer y el último elemento del contenedor. También están at y el operador [] para acceder a elementos específicos.

countdown[0];
// => 3
countdown.at(2);
// => 1
countdown[1] = 4;
// countdown now contains 3, 4 and 1
indie_rock.back() = "yeahs";
// indie_rock is now "yeah", "yeah", "yeahs"

Nota: Si eliges una posición que no está dentro del rango de tu contenedor, [] podría provocar un comportamiento indefinido. La función at lanzaría una excepción, lo que a la larga podría facilitarte la vida.

Modificadores de vector

Como un vector no tiene un tamaño fijo, es posible agregar o quitar elementos. Dos funciones comunes para eso son emplace_back y pop_back.

std::vector<std::string> witches {"Holly", "Alyssa", "Shannen"};
witches.pop_back();
// Shannen is no longer with the witches
witches.emplace_back("Rose");
// Rose has joined the team

Capacidad

Puedes comprobar si los contenedores están vacíos con la función miembro empty. Si quieres saber la cantidad de elementos, puedes usar size.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva

Aprende Arrays y vectores

La práctica está bloqueada

Desbloquea 4 ejercicios más para practicar Arrays y vectores