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

Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos

¿Qué es std::list?

En C++, std::list es un contenedor de secuencia que almacena los elementos como una lista doblemente enlazada. Esta estructura permite insertar o eliminar elementos en cualquier posición en tiempo constante, mientras se itera sobre la lista en ambas direcciones. Aunque no proporciona acceso aleatorio rápido como std::vector, destaca en escenarios donde ocurren inserciones o eliminaciones frecuentes.

El contenedor gestiona automáticamente la memoria mediante un allocator, por lo que puede crecer o reducirse desde ambos extremos durante la ejecución.

¿Por qué usar std::list?

Definición de una lista

Para usar std::list, incluya la cabecera <list>:

#include <list> // Definición de plantilla // template<class T, class Alloc = std::allocator<T>> class list; 

Parámetros:

Ejemplo 1: Iteración básica

#include <iostream> #include <list> int main() { std::list<int> my_list{12, 5, 10, 9}; for (int x : my_list) { std::cout << x << '\n'; } } 

Salida:

Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos

Operaciones comunes de std::list

FunciónDescripción
insert()Inserta un elemento antes de la posición del iterador.
push_back()Añade un elemento al final.
push_front()Añade un elemento al principio.
pop_front()Elimina el primer elemento.
size()Devuelve el número de elementos.
front()Accede al primer elemento.
back()Accede al último elemento.
reverse()Invierte el orden de los elementos.
merge()Fusiona dos listas ordenadas en una.

Constructores

Ejemplo 2: Variantes de constructores

#include <iostream> #include <list> int main() { std::list<int> l; // vacía std::list<int> l1{10, 20, 30}; std::list<int> l2(l1.begin(), l1.end()); // copia de rango std::list<int> l3(std::move(l1)); // movimiento std::cout << "Tamaño de l: " << l.size() << '\n'; std::cout << "Contenido de l2:\n"; for (int x : l2) std::cout << x << '\n'; std::cout << "Contenido de l3:\n"; for (int x : l3) std::cout << x << '\n'; } 

Salida:

Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos

Propiedades del contenedor

Inserción de elementos

Use push_front, push_back o insert para añadir elementos.

Ejemplo 3: Inserciones mixtas

#include <algorithm> #include <iostream> #include <list> int main() { std::list<int> my_list{12, 5, 10, 9}; my_list.push_front(11); // frente my_list.push_back(18); // final auto it = std::find(my_list.begin(), my_list.end(), 10); if (it != my_list.end()) { my_list.insert(it, 21); // antes de 10 } for (int x : my_list) std::cout << x << '\n'; } 

Salida:

Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos

Eliminación de elementos

Use erase para eliminar elementos individuales o rangos.

Ejemplo 4: Demostración de erase

#include <iostream> #include <list> int main() { std::list<int> my_list{12, 5, 10, 9}; std::cout << "Antes de la eliminación:\n"; for (int x : my_list) std::cout << x << '\n'; my_list.erase(my_list.begin()); // eliminar primero std::cout << "Después de la eliminación:\n"; for (int x : my_list) std::cout << x << '\n'; } 

Salida:

Dominar std::list en C++: Sintaxis, Funciones y Ejemplos Prácticos

Conclusiones clave

Lenguaje C

  1. Operadores en C++ explicados: Tipos, ejemplos y programas de muestra
  2. Bucle do‑while en C++: Sintaxis, ejemplos prácticos y bucles anidados
  3. Dominando switch-case en C++: Sintaxis, uso y ejemplos prácticos
  4. Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
  5. Dominando punteros en C++: Conceptos, ejemplos y aplicaciones prácticas
  6. Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
  7. Structs en C++ explicados con un ejemplo práctico
  8. Funciones en C++ Explicadas con Ejemplos de Código Prácticos
  9. Struct vs Class en C++: Diferencias Clave, Sintaxis y Mejores Casos de Uso
  10. Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
  11. Python list.count(): Guía Experta con Ejemplos Prácticos