"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Dia - Reimplementando lista circular duplamente encadeada

Dia - Reimplementando lista circular duplamente encadeada

Publicado em 2024-11-08
Navegar:205

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.

Dia - Reimplementando lista circular duplamente encadeada

Declaração de lançamento Este artigo é reimpresso em: https://dev.to/matheusgb/dia-20-reimplementando-lista-circular-duplement-encadeada-4ba8 Se houver alguma infração, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3