Saltar al contenido

std :: list en C ++ con ejemplo

¿Qué es una std :: list?

IC ++, la lista std :: se refiere a un contenedor de almacenamiento. La lista estándar: le permite insertar y eliminar elementos desde cualquier lugar. La lista std :: se implementa como una lista de doble enlace. Esto significa que se puede acceder a los datos de la lista de forma bilateral y secuencial.

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

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

En este tutorial de C ++, aprenderá:

¿Por qué usar std :: list?

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

Lista de sintaxis

Para definir std :: list, necesitamos el archivo de encabezado importar. Aquí está la lista de definiciones de definición estándar :::


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

Se describen 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';
	}
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado del algoritmo para usar sus funciones.
  2. Incluya el archivo de encabezado de iostream para usar sus funciones.
  3. Incluya el archivo de encabezado de lista para usar sus funciones.
  4. Llame a la función principal (). 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 bucle de bucle para crear una variable de bucle xa. Esta variable se utilizará para repetir los elementos de la lista.
  7. Imprima los valores de la lista en la consola.
  8. El final del cuerpo de tu bucle.
  9. El final del cuerpo de la función principal ().

Funciones de lista de C ++

Aquí están las funciones comunes std :: list:

FunciónSuelte
insertar ()Esta función inserta un nuevo elemento antes de que el puntero represente la iteración.
hacer retroceder ()Estas funciones agregan un nuevo elemento al final de la lista.
push_front ()Agrega un nuevo elemento al principio de la lista.
pop_front ()Elimina el primer elemento de la lista.
Talla ()Esta función determina el número de elementos de la lista.
parte delantera ()Determinar los primeros elementos de la lista.
Atrás ()Para determinar el último elemento de la lista.
contrarrestar ()Invierte los elementos de la lista.
fusión ()Combina dos listas ordenadas.

Constructores

Aquí hay una lista de funciones proporcionadas 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;
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado de iostream para usar sus funciones.
  2. Incluya el archivo de encabezado de lista para usar sus funciones.
  3. Ingrese el nombre del espacio estándar en el código para usar sus clases sin llamarlo.
  4. Llame a la función principal (). 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 denominada l1 con un conjunto de 3 enteros.
  7. Cree una lista denominada l2 con todos los elementos de la lista denominada l1, de principio a fin.
  8. Cree una lista denominada l3 utilizando semántica de movimiento. La lista l3 tendrá el mismo contenido que la lista l2.
  9. Imprima el tamaño de la lista denominada l en la consola junto a otro texto.
  10. Imprime texto en la consola.
  11. Cree un comedor llamado named y utilícelo para repetir los elementos de la lista llamada l2.
  12. Imprima los elementos de la lista con nombre l2 en la consola.
  13. Imprime texto en la consola.
  14. Cree un comedor llamado named y utilícelo para repetir los elementos de la lista llamada l3.
  15. Imprima los elementos de la lista con nombre l3 en la consola.
  16. El programa debe devolver valor al completarse con éxito.
  17. El final del cuerpo de la función principal ().

Propiedades de los contenedores

Aquí está la lista de propiedades del contenedor:

Propiedad Suelte
SecuenciaLos contenedores ordenan la secuencia de sus elementos en una secuencia lineal rígida. Los elementos se encuentran según su posición en la secuencia.
Lista doble enlazadaCada función contiene información sobre cómo encontrar elementos anteriores y siguientes. Esto permite un tiempo continuo para insertar y eliminar operaciones.
Consciente de la asignaciónUn objeto distribuidor se utiliza para modificar dinámicamente el tamaño del almacenamiento.

Insertar en lista

Hay varias funciones que podemos usar para agregar valores a una lista. Demostraremos 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';
	}
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado del algoritmo para usar sus funciones.
  2. Incluya el archivo de encabezado de iostream para usar sus funciones.
  3. Incluya el archivo de encabezado de lista para usar sus funciones.
  4. Llame a la función principal (). 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. Ingrese el elemento 11 antes de la lista llamada my_list.
  7. Ingrese la función 18 al final de la lista llamada my_list.
  8. Cree un eater y utilícelo para obtener el elemento 10 de la lista my_list.
  9. Utilice una declaración para averiguar si el elemento anterior se encontró o no.
  10. Inserte el elemento 21 antes del elemento anterior si lo encuentra.
  11. Fin del cuerpo de la declaración si.
  12. Utilice un bucle de bucle para crear una variable de bucle xa. Esta variable se utilizará para repetir los elementos de la lista.
  13. Imprima los valores de la lista en la consola.
  14. El final del cuerpo de tu bucle.
  15. El final del cuerpo de la función principal ().

Eliminado de la lista

Los elementos se pueden eliminar de una lista. La función eliminar () le permite eliminar un elemento o 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;
}

Producción:

Aquí hay una imagen del código:

Explicación del Código:

  1. Incluya el archivo de encabezado del algoritmo para usar sus funciones.
  2. Incluya el archivo de encabezado de iostream para usar sus funciones.
  3. Incluya el archivo de encabezado de lista para usar sus funciones.
  4. Incluya el nombre de espacio estándar en nuestro programa para usar sus clases sin llamarlo.
  5. Llame a la función principal (). 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 texto en la consola.
  8. Utilice un bucle de bucle para crear una variable de bucle xa. Esta variable se utilizará para repetir los elementos de la lista.
  9. Imprima los valores de la lista en la consola.
  10. El extremo del cuerpo del bucle.
  11. Cree un iterador que se centre en el primer elemento de la lista.
  12. Utilice la función de eliminación () señalada por el iterador i.
  13. Imprime texto en la consola.
  14. Utilice un bucle de bucle para crear una variable de bucle xa. Esta variable se utilizará para repetir los elementos de la lista.
  15. Imprima los valores de la lista en la consola. Esto viene después de la eliminación.
  16. El extremo del cuerpo del bucle.
  17. El programa debe devolver valor una vez completado con éxito.
  18. El final del cuerpo de la función principal ().

Resumen: