Criando uma lista encadeada em C
Neste artigo vamos criar uma linked list usando a linguagem C
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.
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.
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.
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.