Lista de ETS C ++

Lista de ETS C ++

En c ++, std :: list es como un contenedor que almacena los elementos en la ubicación de memoria no contagiosa. La "Lista STD ::" se implementa como una lista doblemente vinculada. Podemos insertar o eliminar cualquier elemento de la lista que se almacene en cualquier ubicación, lo que hace que las listas estén bidireccionales y secuenciales. Bidireccional porque podemos acceder a los elementos de la lista desde el frente y la parte posterior de la lista (desde cualquier ubicación). Secuencial porque podemos acceder a los elementos en cualquier lugar de la secuencia. Las listas se comportan como listas doblemente vinculadas. Las listas doblemente vinculadas pueden almacenar sus elementos en cualquier lugar de la memoria y se puede acceder desde cualquier ubicación en el tiempo de ejecución. La lista pertenece a una biblioteca de plantillas estándar como matrices y vectores, pero las listas no permiten un acceso rápido comparable a otras estructuras de datos. Discutamos "STD :: List" en este artículo con la implementación práctica de listas con diferentes operaciones.

Integrar biblioteca

Para usar listas en código, el programador necesita importar la biblioteca requerida. La biblioteca para usar la lista es "lista". Podemos importar esto agregando la siguiente declaración dada:

#incluir

Sin importar esta biblioteca, no podremos usar la lista y sus métodos en el código.

¿Por qué usamos una lista??

Debe preguntarse por qué usamos una lista cuando tenemos vectores y matrices. Verá por qué elegimos una lista en lugar de otro tipo de estructura de datos después de leer los argumentos que se enumeran a continuación:

  • La lista nos ofrece mejor insertar, actualizar y eliminar funciones en comparación con otras estructuras de datos.
  • Proporciona un buen rendimiento con los algoritmos que realizan operaciones como inserción, eliminación o actualización.
  • Las listas nos proporcionan muchos métodos de inserción y eliminación como push () y pop (), etc.

Sintaxis

Plantilla < class_type , class Allocation = allocator > Lista de clases;

O

std :: lista List_1;

El atributo "STD" representa la biblioteca de plantillas estándar. El operador de resolución de alcance le dice al compilador que vamos a usar una clase de "STD". Luego, definimos el tipo de lista dentro de los soportes de ángulo. Fuera de los soportes de ángulo, indicamos el nombre de la lista.

Parámetros

  • Tipo: El tipo de datos que almacenamos en la lista, como en la segunda declaración, almacenamos los datos de tipo entero en la lista. Es obligatorio definir el tipo de datos que se almacenan en la lista.
  • Asignator: El objeto de un tipo que oculta los detalles de la lista en él. Esto es opcional.

Métodos

Hay varias funciones a través de las cuales podemos hacer posibles las operaciones de cuajada de la lista.

  • insert (): inserta los elementos en la lista.
  • push_back (): inserta los elementos en la lista desde la parte posterior.
  • push_front (): inserta los elementos en la lista desde el frente.
  • pop_back (): elimina un elemento de la parte posterior de la lista.
  • size (): encuentra el tamaño de la lista.
  • Back (): muestra el último elemento de la lista.

Usar std :: list

Hablemos sobre la implementación de listas en el programa utilizando la plantilla de lista estándar para listas.

Código:

#incluir
#incluir
int main ()
std :: list list_1 = 8.72, 6.7, 9.4, 5.3;
std :: cout<<"The values are: \n";
for (valor flotante: list_1)
std :: cout << value << '\n';

El primer paso muestra la integración de dos bibliotecas. La primera biblioteca contiene todos los métodos de entrada y salida que usamos para obtener o imprimir el valor. Entonces, la segunda biblioteca es . Importamos esto para acceder a los métodos de listas. La función principal () se llama. Aquí, definimos la lista de tipos de flotación e inicializamos la lista de la misma manera que inicializamos las matrices. La "lista de std ::" le dice al compilador que estamos definiendo la lista. En los soportes de ángulo, "Float" le dice el tipo de lista. A continuación, represente un mensaje en la pantalla usando el comando "STD :: Cout". Después de eso, ejecute el bucle "para" para imprimir la lista en la consola. Dentro del paréntesis de "para" define una variable de tipo flotante que accede a los valores desde la lista. No podemos imprimir toda la lista directamente, por eso usamos un bucle. Dentro del cuerpo de "para", emplee el "std :: cout" para mostrar los valores de la lista. Al hacer esto, inicializamos e imprimimos las listas.

Producción

Los valores son:
8.72
6.7
9.4
5.3

Obtenga el tamaño de la lista e inserte elementos

Observamos cómo podemos obtener el tamaño de una lista e insertar los elementos en una lista después de inicializar la lista.

Código:

#incluir
#incluir
int main ()

std :: list list_0 1,3,4,6,7;
std :: list :: iterator iter_0;
iter_0 = list_0.comenzar();
List_0.insertar (iter_0,5);
List_0.insertar (iter_0,2,80);
--iter_0;
std :: cout << "List_0 contains:";
para (iter_0 = list_0.comenzar(); iter_0!= List_0.fin(); ++ iter_0)
std :: cout << "\t" << *iter_0;
std :: cout<<"\nThe size of the list is :"<regresar 0;

Las bibliotecas para acceder a los métodos de entrada/salida y los métodos de lista se importan primero. Luego, invoque el método main () para definir e inicializar una lista de un tipo entero. Aquí, definimos otro iterador de la lista del tipo entero "iter_0" que itera en la lista. Ahora, use el método Begin () ya que devuelve el iterador del primer elemento de la lista. Luego, queremos insertar un valor en la primera lista que es "list_0". Entonces, llamamos a la función insert (). Contiene dos argumentos: primero es el nombre de lista que almacena temporalmente el nuevo elemento. Y el segundo argumento es el "valor". En el método Begin (), no hemos dado la ubicación o el índice donde queremos insertar este nuevo valor, por lo que se almacena automáticamente en el primer índice y empuja el valor que ya está almacenado en ese índice. Insertar otro valor y pasar tres parámetros al método Insert (). Primero, itera. En segundo lugar, dice el número de valores que queremos insertar. Y el tercero es el valor que se inserta. Aquí, "80" se inserta en el segundo y tercer índice en la lista. Después de la inserción, realizamos una disminución en la lista. Imprima el texto "list_0 contiene:" en la consola y use el bucle "para" para mostrar los elementos de la lista. En el bucle "para", inicialice el iterador para comenzar desde la lista y mantenga el bucle en la lista hasta que llegue al final de la lista e incrementen el iterador. En el cuerpo de "para", muestre la lista de elementos que obtenemos por otro iterador de la lista. El "*iter_0" accede a la ubicación de los elementos de la lista y "Cout" imprime el valor en la consola. Fuera del bucle "para", usando la función size (), adquirimos el tamaño de la lista.

Producción:

List_0 contiene: 5 80 80 1 3 4 6 7
El tamaño de la lista es: 8

Conclusión

En este artículo, explicamos en detalle sobre la "lista de std ::". Después de una breve introducción, hablamos sobre por qué necesitamos listas cuando hay otros contenedores, la sintaxis, los métodos y los ejemplos prácticos de listas. Las listas son fáciles de usar debido a sus métodos incorporados. Podemos insertar los elementos en cualquier lugar de la lista y lo mismo ocurre con la extracción. Funciona como una lista doblemente vinculada, pero proporciona más instalaciones que una lista de doble enlace.