ana001 Postado Fevereiro 26, 2013 Denunciar Share Postado Fevereiro 26, 2013 Olá pessoal preciso de ajuda pra inverter uma lista duplamente encadeada, meu código retorna apenas o ultimo elemento da lista quando deveria retornar todos a partir do ultimo se alguém pudar ajudar agradeço meu codigoLista* inverter(Lista* l){ Lista* aux; if(l == NULL) return NULL; while(l->prox != NULL){ aux = l->prox; l->prox = l->ant; l->ant = aux; l=aux;} return l; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Fevereiro 26, 2013 Denunciar Share Postado Fevereiro 26, 2013 (editado) Você quase chegou lá! Dá uma olhada, qualquer coisa pergunta:Lista* inverter(Lista* l){ Lista* aux, *ant, *prox; if(l == NULL) return NULL; while(l != NULL){ ant = l; aux = l->prox; l->prox = l->ant; l->ant = aux; l=aux; } return ant; } Editado Fevereiro 26, 2013 por == Douplus == Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ana001
Olá pessoal preciso de ajuda pra inverter uma lista duplamente encadeada, meu código retorna apenas o ultimo elemento da lista quando deveria retornar todos a partir do ultimo se alguém pudar ajudar agradeço
meu codigo
Lista* inverter(Lista* l){
Lista* aux;
if(l == NULL) return NULL;
while(l->prox != NULL){
aux = l->prox;
l->prox = l->ant;
l->ant = aux;
l=aux;
}
return l;
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.