Agregar elementos
Parte de la sección Lógica y Flujo del Journey de C++ de Coddy — lección 11 de 56.
Ahora que ya sabes cómo crear vectores, aprendamos a añadirles elementos después de haberlos creado. El método push_back() es tu herramienta principal para hacer crecer un vector añadiendo nuevos elementos al final del mismo.
El método push_back() toma un único argumento —el valor que deseas añadir— y lo agrega al final del vector:
std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);En este ejemplo, comenzamos con un vector vacío y usamos push_back() para añadir tres enteros. Después de estas operaciones, nuestro vector contiene los elementos [10, 20, 30] en ese orden.
La belleza de push_back() es que maneja toda la gestión de memoria automáticamente. Cuando añades elementos y el vector se queda sin espacio, asigna automáticamente más memoria y copia los elementos existentes a la nueva ubicación. Esto hace que los vectores sean increíblemente convenientes para construir colecciones de datos cuando no conoces el tamaño final de antemano.
Desafío
FácilCrea un programa que demuestre cómo añadir elementos a un vector usando el método push_back(). Empezarás con un vector vacío y lo construirás dinámicamente añadiendo números en una secuencia específica.
Se proporcionarán las siguientes entradas:
- Un entero
nque representa cuántos números añadir al vector - Luego,
nenteros que deben añadirse al vector uno por uno
Tu programa debe:
- Crear un
std::vector<int>vacío llamadonumbers - Usar un bucle para leer cada uno de los
nnúmeros de entrada - Para cada número, usar
push_back()para añadirlo al final del vector - Después de añadir cada número, imprimir el tamaño actual del vector y el número que se acaba de añadir
- Finalmente, imprimir todos los elementos del vector en una sola línea, separados por espacios
Usa el siguiente formato de salida exacto:
Added [number], size is now [current size]
Added [number], size is now [current size]
...
Final vector: [num1] [num2] [num3] ...Usa el método .size() para obtener el número actual de elementos en el vector después de cada adición. Para la salida final, usa el operador de corchetes [] para acceder a cada elemento por su índice.
Hoja de referencia
Utiliza push_back() para añadir elementos al final de un vector:
std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);El método push_back() gestiona automáticamente la memoria, expandiendo el vector según sea necesario al añadir elementos.
Pruébalo tú mismo
#include <iostream>
#include <vector>
using namespace std;
int main() {
// Leer el número de elementos a añadir
int n;
cin >> n;
// Crear un vector vacío
vector<int> numbers;
// TODO: Escribe tu código aquí
// Leer n números y añadirlos al vector usando push_back()
// Imprimir la salida requerida después de cada adición
// Imprimir el vector final
cout << "Final vector: ";
// TODO: Imprimir todos los elementos separados por espacios
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Punteros y memoria
¿Qué es un puntero?Operador de direcciónOperador de desreferenciaPunteros nulosPunteros y arraysMemoria dinámica con 'new'Liberar memoria con 'delete'Resumen: Práctica de punteros2Vectores (Arrays dinámicos)
Introducción a std::vectorCreación de un VectorAgregar elementosAcceder a los elementosTamaño del VectorIterar con un bucle ForBucle For basado en rangosEliminar elementosResumen - Operaciones con Vectores5Proyecto: Herramienta de inventario
Configuración del proyectoAgregar y actualizar artículos3Proyecto: Herramienta de lista de tareas
Descripción general del proyectoAñadir una tarea