AprendendoC Posted September 22, 2012 at 01:50 PM Report #476195 Posted September 22, 2012 at 01:50 PM Buenas amigos!! tenho um trabalho pra fazer da faculdade e estou meio com dificuldade em implementar uma função para inserir elementos no final de uma lista encadeada. Lista* insercaoFinal(Lista* l, int num) { Lista* novo = (Lista*)malloc(sizeof(lista)); novo -> info = num; novo -> prox = NULL; return novo; } este meu codigo esta a inserir somente um numero ao final da lista...
HappyHippyHippo Posted September 22, 2012 at 02:50 PM Report #476201 Posted September 22, 2012 at 02:50 PM errado, a função simplesmente cria um nó da lista e não insere em lado nenhum necessitas saber qual o local do fim da lista e actualizar os ponteiros para que o nó criado fique relacionado tens de ter somente em conta que existe dois casos: - a lista encontrasse vazia, logo o valor de l é um valor vazio - a lista não se encontra vazia, logo terás de percorrer até ao fim e inserir ai IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
BrunoT Posted September 22, 2012 at 11:47 PM Report #476235 Posted September 22, 2012 at 11:47 PM (edited) Assumindo que essa Lista* l trás o último elemento, que acho que sim ... Lista* insercaoFinal(Lista* l, int num) { Lista* novo = (Lista*)malloc(sizeof(lista)); novo -> info = num; novo -> prox = NULL; l -> prox = novo; return novo; } Se trazes sempre o último elemento contigo, não tens como percorrer a lista toda ... por isso acho que na estrutura de dados devias ter um apontador para o primeiro elemento. Edited September 22, 2012 at 11:50 PM by BrunoT
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now