Dia 20 – Reimplementando lista circular duplamente encadeada

Fiz alguns ajustes na versão incial da minha lista, agora ela atende os requisitos dispostos no material do professor Maziero. Ajustei para passar os testes, e também resolvi utilizar readaptar para C. A compilação juntamente com o arquivo de teste dis…


This content originally appeared on DEV Community and was authored by Matheus Gomes ?‍?

Fiz alguns ajustes na versão incial da minha lista, agora ela atende os requisitos dispostos no material do professor Maziero. Ajustei para passar os testes, e também resolvi utilizar readaptar para C. A compilação juntamente com o arquivo de teste disponibilizado me pareceu menos problemática desse modo.

Revisitando o código dessa lista, precisei revisitar listas mais simples que vem antes da circular duplamente encadeada, assim consegui montar um raciocínio sólido na hora de codificar.

Lista duplamente encadeada

É uma estrutura na qual cada nó contém três partes: Valor, ponteiro para o próximo nó, e ponteiro para o nó anterior.

Permite navegação bidirecional, e para remover ou adicionar um nó, é necessário somente ajustar os ponteitos do nó anterior e do nó seguinte.

[head] <-> [nó1] <-> [nó2] <-> [tail]

Lista circular

Pode ser simplesmente encadeada (sentido unilateral) ou duplamente encadeada (esse é o que estou usando para o projeto).
O último nó da lista está conectado ao primeiro, o que faz com que a lista não tenha um ponto de término natural.
A lista pode ser percorrida indefinidamente, pois ao chegar no final, ela retorna ao início.

Lista circular duplamente encadeada e sua relação com sistemas operacionais

Utilizar uma lista circular duplamente encadeada, faz com que o sistema operacional tenha caracterísica de escalonamento circular.

Dito isso, após o último processo ser executado, o sistema retorna ao primeiro e continua a execução.

Imaginando que um sistema operacional possui três processos:

[P1] <-> [P2] <-> [P3] <-> [P1] ...

Após o P3 terminar seu tempo de execução, a lista voltará diretamente para P1, garantindo uma execução contínua.

O código atual do sistema operacional pode ser encontrado aqui.

resultados dos testes


This content originally appeared on DEV Community and was authored by Matheus Gomes ?‍?


Print Share Comment Cite Upload Translate Updates
APA

Matheus Gomes ?‍? | Sciencx (2024-10-19T15:14:13+00:00) Dia 20 – Reimplementando lista circular duplamente encadeada. Retrieved from https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/

MLA
" » Dia 20 – Reimplementando lista circular duplamente encadeada." Matheus Gomes ?‍? | Sciencx - Saturday October 19, 2024, https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/
HARVARD
Matheus Gomes ?‍? | Sciencx Saturday October 19, 2024 » Dia 20 – Reimplementando lista circular duplamente encadeada., viewed ,<https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/>
VANCOUVER
Matheus Gomes ?‍? | Sciencx - » Dia 20 – Reimplementando lista circular duplamente encadeada. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/
CHICAGO
" » Dia 20 – Reimplementando lista circular duplamente encadeada." Matheus Gomes ?‍? | Sciencx - Accessed . https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/
IEEE
" » Dia 20 – Reimplementando lista circular duplamente encadeada." Matheus Gomes ?‍? | Sciencx [Online]. Available: https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/. [Accessed: ]
rf:citation
» Dia 20 – Reimplementando lista circular duplamente encadeada | Matheus Gomes ?‍? | Sciencx | https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.