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

std::list en C++ con ejemplo

¿Qué es una lista estándar::lista?

En C++, std::list hace referencia a un contenedor de almacenamiento. La std:list le permite insertar y eliminar elementos desde cualquier lugar. La std::list se implementa como una lista doblemente enlazada. Esto significa que se puede acceder a los datos de la lista de forma bidireccional y secuencial.

La lista de la biblioteca de plantillas estándar no admite el acceso aleatorio rápido, pero admite el acceso secuencial desde todas las direcciones.

Puede dispersar los elementos de la lista en diferentes fragmentos de memoria. La información necesaria para el acceso secuencial a los datos se almacena en un contenedor. La std::list puede expandirse y reducirse desde ambos extremos según sea necesario durante el tiempo de ejecución. Un asignador interno cumple automáticamente los requisitos de almacenamiento.

En este tutorial de C++, aprenderá:

¿Por qué usar std::list?

Aquí, hay razones para usar std::List:

Sintaxis de lista

Para definir el std::list, tenemos que importar el archivo de encabezado . Aquí está la sintaxis de definición de std::list:

template < class Type, class Alloc =allocator<T> > class list;

Aquí hay una descripción de los parámetros anteriores:

Ejemplos 1:

#include <algorithm>
#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:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluye el archivo de encabezado del algoritmo para usar sus funciones.
  2. Incluya el archivo de encabezado iostream para usar sus funciones.
  3. Incluya el archivo de encabezado de la lista para usar sus funciones.
  4. Llama a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una lista llamada my_list con un conjunto de 4 enteros.
  6. Utilice un ciclo for para crear una variable de ciclo x. Esta variable se utilizará para iterar sobre los elementos de la lista.
  7. Imprima los valores de la lista en la consola.
  8. Fin del cuerpo del bucle for a.
  9. Fin del cuerpo de la función main().

Funciones de lista de C++

Estas son las funciones comunes de std::list:

Función Descripción insert() Esta función inserta un nuevo elemento antes de la posición que señala el iterador. push_back() Esta función agrega un nuevo elemento al final de la lista. push_front() Agrega un nuevo elemento al frente de la lista. pop_front() Elimina la lista first item.size()Esta función determina el número de elementos de la lista.front()Para determinar los primeros elementos de la lista.back()Para determinar el último elemento de la lista.reverse()Invierte los elementos de la lista.merge()Combina dos listas ordenadas.

Constructores

Aquí está la lista de funciones provistas por el archivo de encabezado :

Ejemplo 2:

#include <iostream>
#include <list>
using namespace std;
int main(void) {
	list<int> l;
	list<int> l1 = { 10, 20, 30 };
	list<int> l2(l1.begin(), l1.end());
	list<int> l3(move(l1));  
	cout << "Size of list l: " << l.size() << endl;
	cout << "List l2 contents: " << endl;
	for (auto it = l2.begin(); it != l2.end(); ++it)
	      cout << *it << endl;
	cout << "List l3 contents: " << endl;
	for (auto it = l3.begin(); it != l3.end(); ++it)
		cout << *it << endl;
	return 0;
}

Salida:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluya el archivo de encabezado iostream para usar sus funciones.
  2. Incluya el archivo de encabezado de la lista para usar sus funciones.
  3. Incluya el espacio de nombres estándar en el código para usar sus clases sin llamarlo.
  4. Llama a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una lista vacía llamada l.
  6. Cree una lista llamada l1 con un conjunto de 3 enteros.
  7. Cree una lista llamada l2 con todos los elementos de la lista llamada l1, desde el principio hasta el final.
  8. Cree una lista llamada l3 utilizando la semántica de movimiento. La lista l3 tendrá el mismo contenido que la lista l2.
  9. Imprima el tamaño de la lista llamada l en la consola junto con otro texto.
  10. Imprime algo de texto en la consola.
  11. Cree un iterador llamado iterador y utilícelo para iterar sobre los elementos de la lista llamada l2.
  12. Imprime los elementos de la lista llamada l2 en la consola.
  13. Imprime algo de texto en la consola.
  14. Cree un iterador llamado iterador y utilícelo para iterar sobre los elementos de la lista llamada l3.
  15. Imprima los elementos de la lista llamada l3 en la consola.
  16. El programa debe devolver valor al completarse con éxito.
  17. Fin del cuerpo de la función main().

Propiedades del contenedor

Aquí está la lista de propiedades del contenedor:

Propiedad Descripción SequenceLos contenedores de secuencias ordenan sus elementos en una secuencia lineal estricta. Se accede a los elementos por su posición en la secuencia. Lista doblemente enlazada Cada elemento tiene información sobre cómo localizar los elementos anteriores y siguientes. Esto permite un tiempo constante para las operaciones de inserción y eliminación. Consciente del asignador Se utiliza un objeto asignador para modificar el tamaño de almacenamiento de forma dinámica.

Inserción en una lista

Hay diferentes funciones que podemos usar para insertar valores en una lista. Demostremos esto:

Ejemplo 3:

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

Salida:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluye el archivo de encabezado del algoritmo para usar sus funciones.
  2. Incluya el archivo de encabezado iostream para usar sus funciones.
  3. Incluya el archivo de encabezado de la lista para usar sus funciones.
  4. Llama a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una lista llamada my_list con un conjunto de 4 enteros.
  6. Inserte el elemento 11 al principio de la lista llamada my_list.
  7. Inserte el elemento 18 al final de la lista denominada my_list.
  8. Cree un iterador y utilícelo para encontrar el elemento 10 de la lista my_list.
  9. Use una instrucción if para determinar si se encontró o no el elemento anterior.
  10. Inserte el elemento 21 antes del elemento anterior si se encontró.
  11. Fin del cuerpo de la sentencia if.
  12. Utilice un ciclo for para crear una variable de ciclo x. Esta variable se utilizará para iterar sobre los elementos de la lista.
  13. Imprima los valores de la lista en la consola.
  14. Fin del cuerpo del bucle for a.
  15. Fin del cuerpo de la función main().

Eliminar de una lista

Es posible eliminar elementos de una lista. La función erase() le permite eliminar un elemento o un rango de elementos de una lista.

Ejemplo 4:

#include <algorithm>
#include <iostream>
#include <list>
using namespace std;
int main() {
	std::list<int> my_list = { 12, 5, 10, 9 };
	cout << "List elements before deletion: ";
	for (int x : my_list) {
		std::cout << x << '\n';
	}
	list<int>::iterator i = my_list.begin();
	my_list.erase(i);
	cout << "\nList elements after deletion: ";
	for (int x : my_list) {
		std::cout << x << '\n';
	}
	return 0;
}

Salida:

Aquí hay una captura de pantalla del código:

Explicación del código:

  1. Incluye el archivo de encabezado del algoritmo para usar sus funciones.
  2. Incluya el archivo de encabezado iostream para usar sus funciones.
  3. Incluya el archivo de encabezado de la lista para usar sus funciones.
  4. Incluya el espacio de nombres estándar en nuestro programa para usar sus clases sin llamarlo.
  5. Llama a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  6. Cree una lista llamada my_list con un conjunto de 4 enteros.
  7. Imprime algo de texto en la consola.
  8. Utilice un ciclo for para crear una variable de ciclo x. Esta variable se utilizará para iterar sobre los elementos de la lista.
  9. Imprima los valores de la lista en la consola.
  10. Fin del cuerpo del ciclo for.
  11. Cree un iterador i que apunte al primer elemento de la lista.
  12. Utilice la función erase() señalada por el iterador i.
  13. Imprime algo de texto en la consola.
  14. Utilice un ciclo for para crear una variable de ciclo x. Esta variable se utilizará para iterar sobre los elementos de la lista.
  15. Imprima los valores de la lista en la consola. Esto viene después de la eliminación.
  16. Fin del cuerpo del ciclo for.
  17. El programa debe devolver un valor al completarse con éxito.
  18. Fin del cuerpo de la función main().

Resumen:


Lenguaje C

  1. Operadores en C++ con Ejemplo:Qué es, Tipos y Programas
  2. C++ do...while bucle con ejemplos
  3. Declaración de caso de cambio de C ++ con EJEMPLO
  4. C++ Asignación dinámica de arreglos con ejemplo
  5. Punteros de C++ con ejemplos
  6. Sobrecarga de operadores de C++ con ejemplos
  7. Estructura C++ con ejemplo
  8. Funciones de C++ con ejemplos de programas
  9. Diferencia entre estructura y clase:explicada con el ejemplo de C++
  10. Contador de Python en colecciones con ejemplo
  11. Python List count () con EJEMPLOS