"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Dia - Reimplementación de lista circular doblemente enlazada

Dia - Reimplementación de lista circular doblemente enlazada

Publicado el 2024-11-08
Navegar:698

Hice algunos ajustes a la versión inicial de mi lista, ahora cumple con los requisitos establecidos en el material del profesor Maziero. Lo ajusté para pasar las pruebas y también decidí usar readapt para C. La compilación junto con el archivo de prueba disponible parecía menos problemática de esa manera.

Al revisar el código de esta lista, necesitaba revisar listas más simples que vienen antes de la circular de doble enlace, así pude armar un razonamiento sólido al codificar.

lista doblemente enlazada

Es una estructura en la que cada nodo contiene tres partes: valor, puntero al siguiente nodo y puntero al nodo anterior.

Permite navegación bidireccional, y para eliminar o agregar un nodo, solo es necesario ajustar los puntos del nodo anterior y siguiente.

[head]  [nó1]  [nó2]  [tail]

lista circular

Puede ser simplemente encadenado (sentido unilateral) o doble encadenado (esto es lo que estoy usando para el proyecto).
El último nodo de la lista está conectado al primero, lo que significa que la lista no tiene un punto final natural.
La lista se puede desplazar indefinidamente, porque cuando llega al final, vuelve al principio.

Lista circular doblemente enlazada y su relación con los sistemas operativos

El uso de una lista circular doblemente enlazada hace que el sistema operativo tenga una función de programación circular.

Dicho esto, después de ejecutar el último proceso, el sistema regresa al primero y continúa la ejecución.

Imaginando que un sistema operativo tiene tres procesos:

[P1]  [P2]  [P3]  [P1] ...

Después de que P3 finalice su tiempo de ejecución, la lista volverá directamente a P1, lo que garantiza una ejecución continua.

El código actual del sistema operativo se puede encontrar aquí.

Dia - Reimplementando lista circular duplamente encadeada

Declaración de liberación Este artículo se reproduce en: https://dev.to/matheusgb/dia-20-reimplementando-lista-circular-duplamente-encadeada-4ba8 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3