Biblioteca C ++ - <lista>

Introducción

List es un contenedor de secuencias de uso popular. El contenedor es un objeto que contiene datos del mismo tipo. El contenedor de listas se implementa como una lista doblemente vinculada, por lo que proporciona acceso secuencial bidireccional a sus datos.

La lista no proporciona un acceso aleatorio rápido, solo admite el acceso secuencial en ambas direcciones. La lista permite la operación de inserción y eliminación en cualquier lugar dentro de una secuencia en tiempo constante.

Los elementos de la lista se pueden dispersar en diferentes partes de la memoria. El contenedor almacena la información necesaria para permitir el acceso secuencial a sus datos. Las listas se pueden reducir o expandir según sea necesario desde ambos extremos en tiempo de ejecución. El asignador interno cumple automáticamente el requisito de almacenamiento.

Las listas de tamaño cero también son válidas. En ese caso, list.begin () y list.end () apuntan a la misma ubicación. Pero el comportamiento de llamar a front () o back () no está definido.

Definición

A continuación se muestra la definición de std :: list del archivo de encabezado <list>

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

Parámetros

  • T - Tipo de elemento contenido.

    T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

  • Alloc - Tipo de objeto asignador.

    De forma predeterminada, se utiliza la plantilla de clase de asignador, que define el modelo de asignación de memoria más simple y es independiente del valor.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 tipo de valor T (primer parámetro de la plantilla)
2 allocator_type Alloc (segundo parámetro de la plantilla)
3 referencia tipo de valor&
4 referencia_const const value_type &
5 puntero tipo de valor*
6 puntero_const const value_type *
7 iterador un iterador de acceso aleatorio a value_type
8 const_iterator un iterador de acceso aleatorio a const value_type
9 reverse_iterator std :: reverse_iterator <iterador>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 tipo de letra size_t
12 tipo_diferencia ptrdiff_t

Funciones de <list>

A continuación se muestra una lista de todos los métodos del encabezado <list>.

Constructores

No Señor. Método y descripción
1 list :: list constructor predeterminado

Construye una lista vacía con cero elementos.

2 list :: constructor de relleno de lista

Construye una nueva lista con n elementos y asigna val a cada elemento de la lista.

3 list :: constructor de relleno de lista

Construye una nueva lista con n elementos y asigna un valor cero a cada elemento de la lista.

4 list :: constructor de rango de lista

Construye una lista con tantos elementos como en el rango del primero al último .

5 list :: constructor de copia de lista

Construye una lista con copia de cada elemento presente en la lista existente.

6 list :: constructor de movimiento de lista

Construye una lista con el contenido de otros usando semántica de movimiento.

7 list :: list initializer list constructor

Construye una lista con el contenido de otros usando semántica de movimiento.

Incinerador de basuras

No Señor. Método y descripción
1 lista :: ~ lista

Destruye el objeto de la lista al desasignar su memoria.

Funciones de miembro

No Señor. Método y descripción
1 lista :: asignar versión de rango

Asigna un nuevo valor a la lista reemplazando los antiguos.

2 lista :: asignar versión de relleno

Asigna nuevos valores a la lista reemplazando los antiguos.

3 list :: asignar la versión de la lista del inicializador

Asigna nuevos valores a la lista reemplazando los antiguos.

4 list :: volver

Devuelve una referencia al último elemento de la lista.

5 lista :: comenzar

Devuelve un iterador de acceso aleatorio que apunta al primer elemento de la lista.

6 lista :: cbegin

Devuelve un iterador de acceso aleatorio constante que apunta al comienzo de la lista.

7 lista :: cend

Devuelve un iterador de acceso aleatorio constante que apunta al final de la lista.

8 lista :: claro

Destruye la lista eliminando todos los elementos de la lista y establece el tamaño de la lista en cero.

9 lista :: crbegin

Devuelve un iterador inverso constante que apunta al último elemento de la lista.

10 lista :: crend

Devuelve un iterador inverso constante que apunta al elemento teórico que precede al primer elemento de la lista.

11 lista :: emplazamiento

Extiende la lista insertando un nuevo elemento en una posición determinada.

12 list :: emplace_back

Inserta un nuevo elemento al final de la lista y aumenta el tamaño de la lista en uno.

13 list :: emplace_front

Inserta un nuevo elemento al principio de la lista y aumenta el tamaño de la lista en uno.

14 lista :: vacío

Comprueba si la lista está vacía o no.

15 lista :: fin

Devuelve un iterador de acceso aleatorio que apunta al último elemento de la lista.

dieciséis lista :: borrar versión de posición

Elimina un solo elemento de la lista.

17 lista :: borrar versión de rango

Elimina el rango de elementos de la lista.

18 lista :: frente

Devuelve una referencia al primer elemento de la lista.

19 list :: get_allocator

Devuelve un asignador asociado con la lista.

20 lista :: insertar versión de elemento único

Extiende el iterador insertando un nuevo elemento en la posición de la lista.

21 lista :: insertar versión de relleno

Extiende la lista insertando nuevos elementos en el contenedor.

22 lista :: insertar versión de rango

Extiende la lista insertando nuevos elementos en el contenedor.

23 lista :: insertar versión de movimiento

Extiende la lista insertando un nuevo elemento en el contenedor.

24 list :: insertar la versión de la lista del inicializador

Extiende la lista insertando nuevos elementos en el contenedor

25 lista :: tamaño_máximo

Devuelve el número máximo de elementos que puede contener una lista.

26 lista :: fusionar

Fusiona dos listas ordenadas en una.

27 lista :: función de comparación de fusión

Fusiona dos listas ordenadas en una.

28 list :: fusionar mover versión

Fusiona dos listas ordenadas en una usando la semántica de movimiento.

29 list :: fusionar comparar función mover versión

Fusiona dos listas ordenadas en una usando la semántica de movimiento.

30 lista :: operador = copia de la versión

Asigna nuevos contenidos a la lista reemplazando los antiguos.

31 lista :: operador = mover versión

Asigne nuevos contenidos a la lista reemplazando los antiguos.

32 list :: operator = versión de la lista del inicializador

Asigne nuevos contenidos a la lista reemplazando los antiguos.

33 list :: pop_back

Elimina el último elemento de la lista.

34 list :: pop_front

Elimina el primer elemento de la lista.

35 lista :: push_back

Inserta un nuevo elemento al final de la lista.

36 list :: push_back mover versión

Inserta un nuevo elemento al final de la lista.

37 list :: push_front

Inserta un nuevo elemento al principio de la lista.

38 list :: push_front mover versión

Inserta un nuevo elemento al principio de la lista.

39 lista :: rbegin

Devuelve un iterador inverso que apunta al último elemento de la lista.

40 lista :: eliminar

elimina los elementos de la lista que coinciden con el valor.

41 list :: remove_if

elimina elementos de la lista que cumplen la condición.

42 lista :: rend

Devuelve un iterador inverso que apunta al final inverso de la lista.

43 lista :: cambiar el tamaño

Cambia el tamaño de la lista.

44 lista :: redimensionar la versión del valor

Cambia el tamaño de la lista.

45 lista :: reverso

Invierte el orden de los elementos presentes en la lista.

46 lista :: tamaño

Devuelve el número de elementos presentes en la lista.

47 lista :: ordenar

Ordena los elementos de la lista.

48 lista :: función de clasificación de comparación

Ordena los elementos de la lista.

49 lista :: empalme

Transfiere todos los elementos de la lista a * this.

50 lista :: empalme de un solo elemento

Transfiere un elemento apuntado por el iterador i de la lista x a * this .

51 lista :: versión de movimiento de empalme

Transferencias todos los elementos de la lista x a * este mediante el uso de la semántica de movimiento.

52 lista :: versión de rango de empalme

Las transferencias de los elementos en el rango de primera a durar desde x a * esto .

53 lista :: empalmar versión de movimiento de elemento único

Transfiere el elemento apuntado por el iterador i de la lista x a * this usando la semántica de movimiento.

54 lista :: rango de empalme y versión de movimiento

Transferencias los elementos en la gama de primera a duran desde x a * este mediante el uso de la semántica de movimiento.

55 lista :: intercambio

Intercambia el contenido de la lista con el contenido de otra lista x .

56 lista :: único

Elimina todos los elementos duplicados consecutivos de la lista.

57 lista :: único

Elimina todos los elementos duplicados consecutivos de la lista.

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 operador ==

Comprueba si dos listas son iguales o no.

2 operador! =

Comprueba si dos listas son iguales o no.

3 operador <

Comprueba si la primera lista es menor que otra o no.

4 operador <=

Comprueba si la primera lista es menor o igual a otra o no.

5 operador>

Comprueba si la primera lista es mayor que otra o no.

6 operador> =

Comprueba si la primera lista es mayor o igual a otra o no.

7 intercambiar

Intercambia el contenido de dos listas.