Arikedes Postado Fevereiro 1, 2013 Denunciar Share Postado Fevereiro 1, 2013 Segue a linha de codigo:#include <stdio.h> #include <stdlib.h> typedef struct no{ int chave; struct no *prox; } NO; int insere(NO **cabec, int chave){ NO *novo; novo = (NO *)malloc(sizeof(NO)); novo->chave = chave; novo->prox = NULL; if (*cabec == NULL){ *cabec = novo; } else{ novo->prox = *cabec; *cabec = novo; } return novo->chave; } void imprime(NO *cabec){ NO *aux = cabec; if(aux == NULL){ printf("Lista Vazia"); } else{ do{ printf("%d-> ", aux->chave); aux=aux->prox; }while(aux != NULL); } } int inverte (NO *cabec, NO **lista){ NO *aux = cabec; while (aux != NULL){ insere((lista), aux->chave); aux = aux->prox; } } void insereFim (NO **cabec, int chave){ NO *aux; aux=*cabec; NO *novo; novo = (NO *)malloc(sizeof(NO)); novo->chave = chave; novo->prox = NULL; if(*cabec == NULL){ *cabec = novo; } else{ while(aux->prox != NULL){ aux = aux->prox; } aux->prox = novo; } } int passarLista(NO *cabec){ NO *aux = cabec; while(aux != NULL){ return aux->chave; aux=aux->prox; } } int main(){ NO *cabec1 = NULL; NO *cabec2 = NULL; NO *invertida = NULL; int i; for (i=0; i<5; i++){ insere(&cabec1, i); insere(&cabec2, i*i+2); } printf("Lista 1: "); imprime(cabec1); printf("\nLista 2: "); imprime(cabec2); inverte(cabec2, &invertida); printf("\n\nLista 2 invertida: "); imprime(invertida); printf("\nLista1 concatenada com Lista2: "); insereFim(&cabec1, passarLista(invertida)); imprime(cabec1); getchar(); return 0; }A minha duvida, esta na funcao main.Porque a chamada insereFim(&cabec1, passarLista(invertida)); não retorna todos os valores de passarLista()?Estou tendo como retorno somente o primeiro NO da lista invertida.Como faco pra esse metodo insereFim() conseguir pegar todos os codigos de passarLista()? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Arikedes
Segue a linha de codigo:
A minha duvida, esta na funcao main.
Porque a chamada insereFim(&cabec1, passarLista(invertida)); não retorna todos os valores de passarLista()?
Estou tendo como retorno somente o primeiro NO da lista invertida.
Como faco pra esse metodo insereFim() conseguir pegar todos os codigos de passarLista()?
Link para o comentário
Compartilhar em outros sites
0 respostass 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.