La distinción clave entre ellos y los objetos de la lista hacia adelante es que las primeras son listas ligadas, lo que significa que solo pueden ser iterados a cambio de ser un poco más pequeños y efectivos."
Lista de C ++
Como resultado, un vector no mantiene sus elementos en la memoria contigua como lo hace una lista. Dado que lleva mucho tiempo mover toda la información, la inserción y la eliminación en el medio de un vector son bastante caros. La lista vinculada, que utiliza un contenedor de lista en su implementación, resuelve este problema. La lista guarda los elementos en una memoria contigua, pero Vector almacena en una memoria no contigua. Ya que lleva mucho tiempo mover todos los elementos, la inserción y la eliminación en el vector son bastante caros.
Las listas proporcionan comunicación bidireccional y ofrecen un medio efectivo para realizar operaciones de inserción y eliminación.
Tipos de la lista
Lista individual
Es el tipo más simple de lista vinculada, con cada nodo que incluye datos y un puntero al nodo después que tiene el mismo tipo de datos. Dado que tiene un puntero al siguiente nodo, el nodo almacena la dirección de ese nodo en la secuencia. Los datos solo se pueden atravesar en una sola lista vinculada.
Lista de enlaces dobles
Los datos y el puntero adicional, conocido como el puntero anterior que está presente en una lista vinculada individualmente, también están presentes en una lista doblemente vinculada. El enlace anterior del primer nodo en la lista apunta a NULL, al igual que el nodo final del siguiente nodo de la lista.
Lista doble circular
Una lista circular vinculada tiene todos sus nodos conectados en un círculo. El final final está ausente. Hay dos tipos de listas circulares vinculadas: una sola circular y doble circular.
Beneficios de la lista de C ++
Dado que el tamaño de la lista vinculada fluctúa mientras se usa, no hay pérdida de memoria.
No hay pérdida de memoria porque el tamaño de la lista vinculada cambia a medida que se usa.
Funciones de la lista C ++
Lista :: Frente ()
La lista de funciones C ++ STL incorporada :: Front Devuelve una referencia a la primera entrada en un contenedor de lista.
Sintaxis:
# Lista de nombres.frente()Parámetros:
Esta función simplemente devuelve una referencia a la primera entrada en el contenedor de la lista; No acepta ningún parámetro.
Valor de retorno: el primer elemento en el contenedor de la lista se hace referencia directamente por esta función.
Excepción: cuando se usa con un contenedor de lista vacía, esta función genera un comportamiento indefinido.
Lista de regreso ()
Una referencia directa al elemento final en el contenedor de la lista se devuelve mediante el método List :: Back () en el C ++ STL. Porque list :: end () solo entrega un iterador a la última entrada, esta función difiere de esa.
Sintaxis:
# Lista de nombres.atrás()Parámetros:
No hay parámetro; devolver el valor. El elemento final en la lista de demostración del contenedor de la lista se hace referencia directamente por esta función.
Excepción: no existe tal excepción en este método, pero invocarlo con un contenedor de lista vacía hace que C ++ se comporte de una manera indefinible.
Lista :: Push_front ()
El método STL C ++ incorporado se usa front () para insertar un elemento justo antes del elemento superior en un contenedor de lista. Además, el tamaño del contenedor se ve impulsado por esta función en 1.
Sintaxis:
# Lista de nombres.push_front (valor del tipo de datos)Parámetros:
Esta opción designa el elemento que debe agregarse a la parte superior de la lista.
Valor de retorno:
Esta función devuelve nada.
Lista: push_back ()
Para insertar un nuevo elemento en un contenedor de lista existente, use la función Lista: Push Back () en el C ++ STL. Agrega el elemento que se agregará al contenedor de la lista tomándolo como argumento.
Sintaxis:
# Lista de nombres.push_back (valor)Parámetros:
Solo hay un parámetro necesario para esta función. Esto se refiere al elemento de nombre de la lista que debe insertarse.
Tipo de retorno: el tipo de retorno de esta función es nulo, y no tiene valor de retorno.
Lista :: Pop_front ()
El elemento frontal de un contenedor de la lista se puede eliminar utilizando la lista de funciones C ++ STL incorporada :: Pop Front (). Como resultado, esta función reduce el tamaño del contenedor por 1 al eliminar la entrada de la parte superior de la lista.
Sintaxis:
# Lista de nombres.pop_front ();Valor de retorno:
Esta función devuelve nada.
Lista :: Pop_Back ()
Use la lista de métodos C ++ STL incorporado :: Pop Back para eliminar un elemento de la parte posterior de un contenedor de lista. En otras palabras, esta función elimina el último elemento en un contenedor de lista. Eliminar un miembro del final de la lista Esta función reduce el tamaño del contenedor en 1.
Sintaxis:
# Lista de nombres.pop_back ();Valor de retorno:
Esta función devuelve nada.
Lista :: begin ()
Esto lo distingue de la función front ().
Sintaxis:
# Lista de nombres.comenzar()Parámetros:
No se pasan parámetros.
Lista :: Rend ()
El método de lista incorporado :: rend () en el C ++ STL devuelve un iterador inverso que apunta a una ubicación antes del inicio de la lista.
Sintaxis:
# Lista de nombres.desgarrar()Valor de retorno:
Un iterador inverso apunta a una ubicación antes de que se devuelva el inicio de la lista.
Lista :: CBegin ()
El método STL C ++ incorporado CBEGIN () devuelve un iterador de acceso aleatorio constante que apunta al inicio de la lista.
Sintaxis:
# Lista de nombres.cbegin ()Lista :: Cend ()
Un iterador de acceso aleatorio constante que apunta al final de la lista es devuelto por el método C ++ STL incorporado Cend ().
Sintaxis:
# Lista de nombres.cend ()Lista :: CRBegin ()
El método STL C ++ incorporado CRBEGIN () devuelve un iterador inverso constante que conduce al elemento final de la lista o al comienzo invertido del contenedor. Debido a la naturaleza constante del iterador, los elementos no pueden ser alterados o cambiados.
Sintaxis:
# Lista de nombres.CRBEGIN ()Lista :: crend ()
El método C ++ STL CREND devuelve un iterador inverso constante vinculado al elemento #hypotético que viene antes del primer elemento en la lista o el final inverso de la lista. El iterador es constante; Por lo tanto, los elementos no se pueden cambiar o actualizar.
Sintaxis:
# Lista de nombres.crend ()Lista :: vacía ()
Para verificar si un determinado contenedor de lista está vacío o no, use la lista de funciones C ++ STL incorporada :: vacía (). Esta función no altera la lista; Simplemente determina si una lista está vacía o no o si su tamaño es 0 o no.
Sintaxis:
# Lista de nombres.vacío()Lista :: Insert ()
Para insertar entradas en una lista en cualquier momento, use la función Lista :: Insert (). Cosice el número de elementos para insertar y el valor para insertar son los tres parámetros para esta función. Cuando no se especifica, el número de elementos se establece en uno de forma predeterminada.
Sintaxis:
# Insert (Pos_iter, ELE_NUM, ELE)Lista :: ERASE ()
La función C ++ STL incorporada ERASE () se usa para eliminar elementos de un contenedor de lista. El contenedor de lista suministrado se puede usar para eliminar un solo elemento o un grupo de elementos utilizando esta función.
Sintaxis:
# iterator list_name.borrar (posición del iterador)Parámetros:
Pasamos dos parámetros.
Posición: cuando se debe eliminar un solo elemento utilizando la función, este parámetro se utiliza. Este parámetro se refiere a un iterador que identifica el elemento del contenedor de la lista que debe eliminarse.
Primero, lo último: los términos "parámetro primero" y "parámetro último" se refieren al iterador que apunta a los primeros y últimos elementos en el rango, respectivamente, que deben eliminarse. Esto elimina todos los elementos de la gama, incluido el elemento que el iterador señaló primero, pero excluyó el elemento que el iterador señaló para durar.
Lista :: Asignar ()
Para asignar valores a una lista, use el método C ++ STL incorporado asignar ().
Sintaxis:
# Lista de nombres.Asignar (contar, valor)Parámetros:
Recuento: el número de valores que se deben agregar al nombre de la lista.
Valor: comenzando con el elemento inicial, este valor se le asignará un cierto número de veces. Si la lista ya tiene algunos elementos, el elemento suministrado en el valor del parámetro ocupará su lugar. El tipo de datos de este parámetro debe ser el mismo que el tipo de datos del nombre de la lista.
Lista :: remo
Elimina elementos que evalúan contra un valor. Toma un valor como entrada y elimina cualquier elemento del contenedor de la lista cuyos valores coinciden con el valor pasado como parámetro de la función.
Sintaxis:
# Lista de nombres.eliminar (val)Lista :: remo
El método remove () se utiliza para eliminar cualquier entrada de una lista que coincida con un valor especificado como parámetro de función.
Sintaxis:
# Lista de nombres.eliminar (valor)Lista :: remove_if ()
La función REMELT if () se usa para eliminar todas las entradas de una lista que satisface una condición o predicado que se envía como argumento.
Sintaxis:
# Lista de nombres.remove_if (predicado)Lista :: Reverse ()
Se puede revertir un contenedor de lista utilizando el método incorporado reverso () en el C ++ STL. Cambia el orden de la lista de elementos del contenedor.
Sintaxis:
# Lista de nombres.contrarrestar()Lista :: size ()
En otras palabras, se emplea para determinar el tamaño del contenedor de la lista.
Sintaxis:
# Lista de nombres.tamaño();Lista :: RESIZE ()
Ajusta el tamaño del contenedor de la lista para que se ajuste exactamente a los elementos "n" cuando se le da el número "n" como parámetro.
Sintaxis:
# Lista de nombres.cambiar el tamaño (int n, value_type val)Lista :: sort ()
Los elementos del contenedor se pueden clasificar cambiándolos usando la función sort ().
Sintaxis:
# Lista de nombres.clasificar()Lista :: max_size ()
Max Size () Devuelve la mayoría de los elementos que puede acomodar un contenedor de lista.
Sintaxis:
# Lista de nombres.tamaño máximo()Lista :: único ()
Elimina a todos los miembros consecutivos de la lista que son duplicados. Solo funciona con listas ordenadas.
Sintaxis:
# Lista de nombres.único (nombre binarypredicate)Lista :: swap ()
Al usar esta función, el contenido de dos listas del mismo tamaño y tipo se puede cambiar.
Sintaxis:
# listName1.Swap (ListName2)Lista :: Clear ()
El tamaño del contenedor de la lista se reduce a 0 cuando se eliminan todos los elementos utilizando la función transparente ().
Sintaxis:
# Lista de nombres.claro()List :: Operator =
Usando este operador, los contenidos existentes del contenedor se reemplazan y se les dan nuevas tareas. Además, ajusta el tamaño para que se ajuste al nuevo contenido.
Sintaxis:
# listName1 = (listName2)En este artículo, explicaremos diferentes ilustraciones de las funciones de la lista.
Ejemplo no 1
Aquí vamos a ver cómo funcionan las funciones de la lista.
#incluirEn este código, incorporamos archivos de encabezado, y . Luego llamamos a la función principal (). Comencemos la codificación en la función Main (). En la función Main (), agregue mi lista y pase los diferentes valores. Utilice el bucle "para" e inicialice la variable "y" y agregue el valor de la variable "my_list".
Ejemplo no 2
En este caso, vemos cómo disminuir el valor del iterador utilizando las funciones de la lista.
#incluirAquí, agregamos archivos de encabezado, . El archivo de encabezado se ocupa del uso de funciones de la lista C ++. Entonces estaremos usando el espacio de nombres. Junto con esto, llamamos a la función Main (). Primero, inicializamos la lista; Entonces, pasamos los valores. Agregamos la función begin () para obtener los 9 elementos. A continuación, agregamos Move (), 15 elementos de esta función Move (). Hemos estado usando "Cout" para imprimir la declaración "Tamaño de la lista 0". Y la siguiente "cout" imprime la declaración "Lista 15 de contenido". Al final, utilizamos el bucle "para", y luego el valor del iterador disminuye después de todo este comando "return0".
Adquirimos este tipo de resultado después de ejecutar el código antes mencionado.
Conclusión
Primero, hablamos sobre las funciones de la lista de C ++. Luego observamos varias funciones de C ++ se aplican a la lista. Definimos diferentes funciones de la lista de C ++ y también su sintaxis. En este artículo, hemos ejecutado varios códigos que contienen funciones de la lista C ++. En la primera ilustración, utilizamos una lista vinculada y pasamos los parámetros. En el segundo ejemplo, aplicamos la lista de funciones y pasamos los parámetros en cada función.