1. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 1/7
Criando uma lista encadeada em C
Israel Junior Follow
Feb 20, 2019 · 2 min read
Neste artigo vamos criar uma linked list usando a linguagem C
2. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 2/7
Linked list ou lista encadeada e um tipo de estrutura de dados que contém
um grupo de nos interligados através de ponteiros, onde o ponteiro dentro
da estrutura aponta para o próximo nó até que o ponteiro seja NULL
indicando assim o fim da lista.
Nesse exemplo vou mostrar um lista simples com um único valor inteiro e
um ponteiro para exemplificar a construção de uma lista encadeada
simples.
3. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 3/7
O início aponta para um ponteiro que inicia a estrutura ou o primeiro nó da
lista e no final o ponteiro aponta para um Null indicando o fim da lista.
Estrutura de dados na linguagem C e um tema muito abrangente e tem
muitos tópicos mas aqui vamos usar como referência uma estrutura bem
simples pra facilitar o entendimento e a execução do exemplo.
A estrutura que vamos criar seria assim:
struct *node
{
int numero;
struct node *pLink;
}
E para criar o link entre os nós vamos usar o seguinte código.
4. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 4/7
struct node *p = (struct node*) malloc(sizeof(struct node*));
Malloc vai alocar uma porção da memória para receber a nossa lista, após
criarmos a lista vamos atualizar o pLink com a posição de cada elemento
novo que criarmos.
A implementação completa do código de exemplo segue abaixo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
//Estrutura base do nó.
struct node
{
int nData;
struct node *pLink;
};
//Função pra printar o nó na tela.
void displayLL(struct node *p)
{
printf("Mostrando a lista:n");
if(p)
{
do
{
5. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 5/7
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{
printf(" %d", p->nData);
p=p->pLink;
}
while(p);
}
else
printf("Lista vazia.");
}
int main(void)
{
struct node *pNode1 = NULL;
struct node *pNode2 = NULL;
struct node *pNode3 = NULL;
//Criando os nos e associando os dados.
pNode1 = (struct node*) malloc(sizeof(struct node*));
pNode1->nData = 10;
pNode2 = (struct node*) malloc(sizeof(struct node*));
pNode2->nData = 20;
pNode3 = (struct node*) malloc(sizeof(struct node*));
pNode3->nData = 30;
//Conectando os nós
pNode1->pLink = pNode2;
pNode2->pLink = pNode3;
pNode3->pLink = NULL;
6. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 6/7
Para compilar eu utilizei o gcc $ gcc -o linked_list linked_list.c
Este e um exemplo simples mas que eu acho muito interessante para
começarmos a compreender como funciona as listas encadeadas na
linguagem C.
Cpp Cpp11 Linguagem C
Learn more.
Medium is an open platform where 170 million
readers come to find insightful and dynamic
thinking. Here, expert and undiscovered voices
alike dive into the heart of any topic and bring
new ideas to the surface. Learn more
Make Medium yours.
Follow the writers, publications, and topics that
matter to you, and you’ll see them on your
homepage and in your inbox. Explore
Write a story on Medium.
If you have a story to tell, knowledge to share, or
a perspective to offer — welcome home. It’s
easy and free to post your thinking on any topic.
Start a blog
view raw
52
53
54
55
56
57
linked_list.c
hosted with ❤ by GitHub
//Mostrando a lista.
if(pNode1)
displayLL(pNode1);
return 0;
}
7. 11/10/21, 12:26 Criando uma lista encadeada em C. Neste artigo vamos criar uma linked… | by Israel Junior | AprendaCPP | Medium
https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 7/7
About Write Help Legal