Tenho uma matéria de Estrutura de Dados na faculdade onde utilizamos a linguagem C para estudo. Na semana retrasada foi passado uma lista onde em sua maioria consegui resolver por ter conhecimento com outras linguagens, mas tive problemas com o exercício 4 devido ao fato de que neste exercício tem um assunto que não entendi muito bem, que é sobre lista-ligada simples.
Tentei resolver vendo algumas video aulas falando sobre o assunto e mesmo assim ainda é nebuloso para mim, então optei por pedir ajuda no fórum com este exercício.
“Faça um programa em C em que o usuário entra com
uma série de números inteiros, e armazene cada um desses números em uma
lista-ligada simples. O usuário deve informar, inicialmente, quantos números
vão ser inseridos. Depois, o programa deve imprimir a lista ligada, na mesma
ordem em que os elementos foram digitados pelo usuário. Depois, o programa
solicita que o usuário digite mais um número, e deve verificar se esse número
se encontra na lista de números digitados.”
Têm alguma ideia que possa me ajudar a resolver?
Obrigado!
Victor.
Edit: já tenho o seguinte código que tive como ideia para realizar a definição do tamanho, mas agora não sei como progredir.
#include <stdio.h> #include <stdlib.h>
struct Numeros {
int valor;
struct Numeros *proximo;
};
typedef struct Numeros numeros;
int main(){
int tamanhoLista;
numeros *pontoInicial;
numeros *proximoPonto;
printf("Digite o tamanho da lista:\n");
scanf("%d", &tamanhoLista);
pontoInicial = (numeros *)malloc(tamanhoLista);
return 0;
Oi, sou novo em C e gostaria de entender o que é esse “Elemento* próximo” que vc declarou aqui, isso me confundiu um pouco. Afinal vc esta referenciando o novo nome da struct dentro dela mesma?
Isso mesmo, estou referenciando a struct dentro dela mesma. É assim que uma linked list funciona, cada elemento possui uma referencia para o próximo elemento da sequencia.