Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Dominando std::vector en C++: Arrays dinámicos, iteradores y ejemplos prácticos

¿Qué es un vector en C++?

Un vector de C++ es un array dinámico que se redimensiona automáticamente al agregar o eliminar elementos. Sus elementos se almacenan de forma contigua, permitiendo acceso indexado rápido y recorrido mediante iteradores.

La inserción ocurre al final en tiempo constante amortizado. Eliminar el último elemento también es tiempo constante, mientras que insertar o borrar al principio o en medio requiere desplazar elementos, resultando en complejidad lineal.

Cuándo usar un vector

Cómo inicializar vectores en C++

std::vector<tipo_dato> nombre (tamaño, valor); // tamaño y valor son opcionales 

Iteradores

Los iteradores proporcionan una interfaz similar a punteros para elementos del vector. Funciones comunes de iteradores incluyen:

Modificadores

Los modificadores cambian el contenido del vector. Funciones clave son:

Ejemplo 1: Iteración básica

#include <iostream>
#include <vector>
int main() {
    std::vector<int> nums;
    for (int a = 1; a <= 5; ++a) {
        nums.push_back(a);
    }
    std::cout << "Salida desde begin y end: ";
    for (auto it = nums.begin(); it != nums.end(); ++it) {
        std::cout << *it << ' ';
    }
    std::cout << "\nSalida desde cbegin y cend: ";
    for (auto it = nums.cbegin(); it != nums.cend(); ++it) {
        std::cout << *it << ' ';
    }
    return 0;
}

Salida:

Dominando std::vector en C++: Arrays dinámicos, iteradores y ejemplos prácticos

Ejemplo 2: Modificadores avanzados

#include <iostream>
#include <vector>
int main() {
    std::vector<int> nums;
    nums.assign(5, 1); // cinco elementos, todos inicializados a 1
    std::cout << "Contenido del vector: ";
    for (size_t i = 0; i < nums.size(); ++i) {
        std::cout << nums[i] << ' ';
    }
    nums.push_back(2);
    std::cout << "\nÚltimo elemento: " << nums.back();
    nums.pop_back();
    std::cout << "\nContenido del vector: ";
    for (int a : nums) std::cout << a << ' ';
    nums.insert(nums.begin(), 7);
    std::cout << "\nPrimer elemento: " << nums.front();
    nums.clear();
    std::cout << "\nTamaño tras clear(): " << nums.size();
    return 0;
}

Salida:

Dominando std::vector en C++: Arrays dinámicos, iteradores y ejemplos prácticos

Funciones de capacidad

Determine y manipule las características de almacenamiento de un vector con las siguientes funciones:

Ejemplo 3: Exploración de capacidad

#include <iostream>
#include <vector>
int main() {
    std::vector<int> vector1;
    for (int x = 1; x <= 10; ++x) {
        vector1.push_back(x);
    }
    std::cout << "Tamaño del vector: " << vector1.size() << std::endl;
    std::cout << "Capacidad del vector: " << vector1.capacity() << std::endl;
    std::cout << "Tamaño máximo del vector: " << vector1.max_size() << std::endl;
    vector1.resize(5);
    std::cout << "Tamaño tras redimensionar: " << vector1.size() << std::endl;
    if (!vector1.empty())
        std::cout << "El vector no está vacío" << std::endl;
    else
        std::cout << "El vector está vacío" << std::endl;
    return 0;
}

Salida:

Dominando std::vector en C++: Arrays dinámicos, iteradores y ejemplos prácticos

Conclusiones clave

Lenguaje C

  1. Dominando funciones de la biblioteca estándar de C: Guía práctica
  2. Operadores en C++ explicados: Tipos, ejemplos y programas de muestra
  3. Bucle do‑while en C++: Sintaxis, ejemplos prácticos y bucles anidados
  4. Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos
  5. Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
  6. Dominando punteros en C++: Conceptos, ejemplos y aplicaciones prácticas
  7. Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
  8. Structs en C++ explicados con un ejemplo práctico
  9. Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos
  10. Funciones en C++ Explicadas con Ejemplos de Código Prácticos
  11. Struct vs Class en C++: Diferencias Clave, Sintaxis y Mejores Casos de Uso