Lista ligada em C, simplesmente não entendo.
Bom dia a todos,
Pessoal estou com dificuldades em entender e implementar um programa sobre lista ligada.
Antes de começar a explicar minha dúvida, gostaria de saber na prática quando precisamos utilizar uma lista ligada?
Eu não consigo ver uso desse tipó de estrutura na prática =/.
Bem vamos ao meu problema:
Uma lista ligada nada mais é que um elemento (nó) ligando-se a outro elemento, certo?
Para criar um nó eu utilizaria o seguinte código:
struct no
{
int inf;
struct no *prox;
};
struct no *cria_no(int x)
{
struct no *inicio;
inicio=(struct no*) malloc(sizeof (struct no));
inicio-> inf = x;
inicio-> prox = NULL;
return inicio;
}
Dentro do main eu criaria uma variavel do tipo struct nó.
Essa váriavel receberia o endereço do novo nó (cria_no).
ex:
int main()
{
int i,j;
struct no *inicio;
int controle;
controle = 0;
do
{
printf("Digite os numeros: ");
scanf("%d", &j);
if(j!=0)
{
inicio = cria_no(j);
}
Bom criar o nó, inserir o elemento dentro do nó (inf) eu consigo.
O problema é que não sei fazer um nó ligar-se ao outro.
Por que preciso criar uma lista ligada que receba em cada nó um número inteiro.
Se o usuário digitar zero então devo correr a lista ligada e fazer um printf desses elementos.
Me disseram que preciso de um ponteiro que diz quando minha lista começa, a partir desse elemento eu conseguiria correr os outros elementos (o inicio criaria um link com os próximos nós?).
Se alguém puder me dar um exemplo didático, ou algum site bom que me ajude a implementar uma lista ligada simples, procurei no google e não encontrei exemplos fáceis de entender.
Eu agradeço de coração.
Obrigado.
Discussão (3)
Carregando comentários...