Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Percorrendo e Exibindo uma Lista Ligada | Implementando Estruturas de Dados
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Dominando Structs em C

bookPercorrendo e Exibindo uma Lista Ligada

Após aprender como criar e conectar nós, é necessário verificar se essa lista funciona corretamente!

Para isso, será criada uma função simples que exibirá toda a lista.

A função receberá um ponteiro para a área de memória onde o nó cabeça (primeiro) da lista está armazenado.

void printList(struct Node* head) {}

Em seguida, será criado um nó temporário current, com o qual será realizado o percurso por toda a lista. O conteúdo do nó current será igual ao conteúdo do nó atual da lista.

struct Node* current = head;

Para percorrer a lista, utiliza-se o laço while(){} com a condição necessária, ou seja, até que seja encontrado um nó cujo campo next seja NULL.

Note
Nota

O nó temp (temporário) atua como um nó buffer. Ele é utilizado para armazenar temporariamente (e excluir) o conteúdo do nó atual. Se o nó atual for limpo imediatamente, a conexão com o próximo nó será perdida, o que significa que o acesso à lista será perdido.

while (current != NULL) { }
printf("\n");

Dentro do laço, será exibido o conteúdo do campo data do nó atual e o campo next será alterado para avançar para o próximo nó.

printf("%d ", current->data);
current = current->next;

Assim que um nó for encontrado cujo campo next seja igual a NULL, o loop irá parar de exibir o conteúdo dos nós e a função será encerrada.

Tarefa

Swipe to start coding

Implemente uma lista simplesmente encadeada simples com alocação dinâmica de memória. A tarefa é completar as funções printList e freeList.

  1. Implemente uma função printList com um único parâmetro struct Node* head.

    • Dentro de printList, declare uma variável current e inicialize-a com head.
    • Utilize um laço while para iterar enquanto current não for NULL.
    • Em cada iteração, exiba o campo data de current e mova current para o próximo nó.
    • Após o laço, exiba um caractere de nova linha para separar a saída.
  2. Dentro de freeList, declare uma variável current e inicialize-a com head.

    • Utilize um laço while para iterar enquanto current não for NULL.
    • Dentro do laço, armazene current em uma variável temporária temp.
    • Mova current para o próximo nó.
    • Libere a memória alocada para temp.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

bookPercorrendo e Exibindo uma Lista Ligada

Deslize para mostrar o menu

Após aprender como criar e conectar nós, é necessário verificar se essa lista funciona corretamente!

Para isso, será criada uma função simples que exibirá toda a lista.

A função receberá um ponteiro para a área de memória onde o nó cabeça (primeiro) da lista está armazenado.

void printList(struct Node* head) {}

Em seguida, será criado um nó temporário current, com o qual será realizado o percurso por toda a lista. O conteúdo do nó current será igual ao conteúdo do nó atual da lista.

struct Node* current = head;

Para percorrer a lista, utiliza-se o laço while(){} com a condição necessária, ou seja, até que seja encontrado um nó cujo campo next seja NULL.

Note
Nota

O nó temp (temporário) atua como um nó buffer. Ele é utilizado para armazenar temporariamente (e excluir) o conteúdo do nó atual. Se o nó atual for limpo imediatamente, a conexão com o próximo nó será perdida, o que significa que o acesso à lista será perdido.

while (current != NULL) { }
printf("\n");

Dentro do laço, será exibido o conteúdo do campo data do nó atual e o campo next será alterado para avançar para o próximo nó.

printf("%d ", current->data);
current = current->next;

Assim que um nó for encontrado cujo campo next seja igual a NULL, o loop irá parar de exibir o conteúdo dos nós e a função será encerrada.

Tarefa

Swipe to start coding

Implemente uma lista simplesmente encadeada simples com alocação dinâmica de memória. A tarefa é completar as funções printList e freeList.

  1. Implemente uma função printList com um único parâmetro struct Node* head.

    • Dentro de printList, declare uma variável current e inicialize-a com head.
    • Utilize um laço while para iterar enquanto current não for NULL.
    • Em cada iteração, exiba o campo data de current e mova current para o próximo nó.
    • Após o laço, exiba um caractere de nova linha para separar a saída.
  2. Dentro de freeList, declare uma variável current e inicialize-a com head.

    • Utilize um laço while para iterar enquanto current não for NULL.
    • Dentro do laço, armazene current em uma variável temporária temp.
    • Mova current para o próximo nó.
    • Libere a memória alocada para temp.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4
single

single

some-alt