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. |