Buscar

Chegou a hora de implementarmos nossa primeira fila ligada. Assim como fizemos nas aulas anteriores, vamos começar criando algumas structs: uma par...

Chegou a hora de implementarmos nossa primeira fila ligada. Assim como fizemos nas aulas anteriores, vamos começar criando algumas structs: uma para representar cada nó da nossa fila ligada e outra para representar a fila propriamente dita. Mas, antes disso, vamos importar todas as bibliotecas que usaremos nos códigos desta aula. O código – Função que cria e retorna uma fila vazia –, apresenta o código da função “criar”. O que essa função faz é instanciar dinamicamente uma variável do tipo struct “Fila” na memória (linha 2) e configurar os valores de seus campos. Antes, porém, de configurar os valores dos campos da struct “Fila”, é preciso testar se a memória foi corretamente alocada para a fila (linha 3). Os campos “inicio” e “fim”, que são ponteiros, devem apontar para NULL, uma vez que estamos criando uma fila vazia (linhas 4 e 5). Analogamente, o campo “tamanho” deve ser inicializado com o valor igual a 0 (zero) – linha 6. Feito isso, deve-se retornar o endereço da memória alocado para a variável do tipo “Fila” (linha 8). Com isso, nós já somos capazes de criar uma fila vazia na memória do computador. Passemos, então, para a implementação das duas funções mais importantes da fila, a saber “enfileirar” e “desenfileirar”. O código dessas funções pode ser visualizado no código – Funções que, respectivamente, inserem e removem um item em uma fila –, a seguir: Para a função “enfileirar”, inicialmente é feita uma verificação para garantir que o ponteiro passado por parâmetro não é nulo (linha 2). Logo após, é criado um novo nó dinamicamente e seu endereço de memória é armazenado na variável “novo_no” (linha 3). Antes de continuar com a execução da função, verifica-se ainda se o novo nó foi alocado corretamente na memória do computador (linha 4). Caso sim, das linhas 5 a 15 realiza-se a inserção do novo nó no final da fila. Para isso, inicialmente, os campos “info” e “proximo” do novo nó são inicializados. Depois, verifica-se se o ponteiro “fim” da fila é igual a NULL. Isso é importante, pois caso o ponteiro “fim” seja NULL, significa que a fila está vazia e o novo nó será o primeiro e o último nó da fila (linhas 7 e 8). Caso contrário, o novo nó será inserido após o último nó da fila, ou seja, o ponteiro “proximo” do último nó da fila será atualizado para apontar para o novo nó (linhas 11 e 12). Por fim, o ponteiro “fim” da fila é atualizado para apontar para o novo nó (linha 14) e o tamanho da fila é incrementado em 1 (linha 15).


Essa pergunta também está no material:

Fila ligada
8 pág.

Algoritmos e Programação Pítagoras AmpliPítagoras Ampli

💡 1 Resposta

User badge image

Ed Verified user icon

Parece que você está descrevendo o processo de implementação de uma fila ligada em C. É um conceito importante na programação e estrutura de dados. Se você tiver alguma dúvida específica sobre o código ou sobre como implementar uma fila ligada, ficarei feliz em ajudar.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais