Tipo de lista vinculada

1. Lista única vinculada

La llamada lista enlazada simple es la estructura más básica de la lista enlazada. La lista enlazada conecta un grupo de bloques de memoria dispersos a través de punteros. Entre ellos, llamamos a los bloques de memoria los "nodos" de la lista enlazada. Para que todos los nodos estén encadenados, además de almacenar datos, cada nodo de la lista vinculada también debe incentivar la dirección del siguiente nodo en la lista vinculada. Como se muestra en la figura, llamamos a este puntero que registra la dirección de el siguiente nodo como puntero sucesor. A continuación, si un nodo de la lista enlazada es p y el siguiente nodo de p es q, podemos describirlo como: p-> siguiente = q
La siguiente figura describe la estructura de almacenamiento del lista enlazada con más detalle.
Inserte la descripción de la imagen aquí
A partir del diagrama de la lista enlazada individualmente que dibujé, deberías poder encontrar que hay dos nodos que son especiales. Son el primer nodo y el último nodo. Habitualmente llamamos al primer nodo el nodo principal., Y llamamos al último nodo el nodo de cola. Entre ellos, el nodo principal se utiliza para registrar la dirección base de la lista enlazada. Con él, podemos recorrer toda la lista enlazada. El punto especial del nodo final es que el puntero no apunta al siguiente nodo, sino a una dirección vacía NULL, lo que significa que es el último nodo de la lista vinculada.
Al igual que las matrices, las listas vinculadas también admiten operaciones de búsqueda, inserción y eliminación de datos.
Sabemos que para mantener la continuidad de los datos de la memoria al insertar y eliminar matrices, es necesario realizar una gran cantidad de movimiento de datos. Para insertar o eliminar un dato en la lista enlazada, no necesitamos guardar la continuidad de la memoria y mover los nodos, pensando que el espacio de la lista enlazada no es continuo, por lo que insertar y borrar datos en la lista enlazada la lista es muy rápida.
Para facilitar la comprensión, dibujé una imagen, a partir de la imagen podemos ver que para las operaciones de inserción y eliminación de la lista enlazada, solo necesitamos considerar el cambio del puntero del nodo adyacente. cahru
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2. Lista circular vinculada

La lista enlazada circular es un tipo especial de lista enlazada individualmente. De hecho, la lista enlazada circular también es muy simple. La única diferencia entre ella y la lista enlazada individualmente es el nodo final. Sabemos que el puntero del nodo final de la lista enlazada individualmente apunta a una dirección vacía, lo que indica que este es el último nodo. El puntero del nodo final de la lista enlazada circular apunta al nodo principal de la lista enlazada. Desde el dibujo de la lista enlazada circular, parece un anillo conectado de un extremo a otro, por lo que se denomina lista enlazada circular. En comparación con un lista enlazada individualmente, el bucle La ventaja de la lista enlazada es que es más conveniente ir desde el final de la cadena hasta el principio de la cadena. Cuando los datos a procesar tienen las características de una estructura circular, es especialmente adecuado utilizar una lista enlazada circular. A continuación se muestra el diagrama de la lista enlazada circular:
Inserte la descripción de la imagen aquí

3. Lista doblemente vinculada

La lista enlazada individualmente tiene solo una dirección y el nodo tiene solo un puntero sucesor al lado del siguiente nodo. La lista doblemente enlazada, como su nombre lo indica, admite dos direcciones. Cada nodo tiene no solo un puntero sucesor que apunta al siguiente nodo, sino también un puntero predecesor prev que apunta al nodo anterior:
Inserte la descripción de la imagen aquí

4. Lista enlazada circular doble

Comprenda la lista enlazada circular y la lista enlazada doble, si estas dos listas enlazadas están integradas juntas, es una lista enlazada doblemente circular.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_43078445/article/details/104863473
Recomendado
Clasificación