Olá a todos. Tenho uma dúvida com relação a linguagem C.
Preciso converter os dados existentes em uma Árvore Binária de Pesquisa (ABP) para uma lista. Já fiz uma função de inserção dos elementos na lista que satisfaz minhas necessidades. Minha dificuldade está em percorrer todos os elementos da ABP e executar a função para cada um deles. Abaixo a função de conversão:
Bom, como podem ver, a função recebe a raiz da lista e da árvore e para cada elemento da árvore executa a função de inserção. O problema é que a função conversao, ao final da execução, está devolvendo a lista tendo como ponteiro a raiz da ABP, mesmo que tenha outros elementos. Por exemplo, na lista a seguir:
null -> raiz da lista -> raiz da abp -> outros elementos
Ele devolve a raiz da abp, enquanto o correto seria devolver a raiz da lista.
Enfim, não sei se consegui me explicar direito, mas alguém tem alguma idéia do que eu possa estar fazendo de errado?
Ou então alguma forma de percorrer todos os elementos da árvore sem utilizar recursão (pois creio que o problema esteja aí)?
Pergunta
TNT
Olá a todos. Tenho uma dúvida com relação a linguagem C.
Preciso converter os dados existentes em uma Árvore Binária de Pesquisa (ABP) para uma lista. Já fiz uma função de inserção dos elementos na lista que satisfaz minhas necessidades. Minha dificuldade está em percorrer todos os elementos da ABP e executar a função para cada um deles. Abaixo a função de conversão:
Bom, como podem ver, a função recebe a raiz da lista e da árvore e para cada elemento da árvore executa a função de inserção. O problema é que a função conversao, ao final da execução, está devolvendo a lista tendo como ponteiro a raiz da ABP, mesmo que tenha outros elementos. Por exemplo, na lista a seguir:
null -> raiz da lista -> raiz da abp -> outros elementos
Ele devolve a raiz da abp, enquanto o correto seria devolver a raiz da lista.
Enfim, não sei se consegui me explicar direito, mas alguém tem alguma idéia do que eu possa estar fazendo de errado?
Ou então alguma forma de percorrer todos os elementos da árvore sem utilizar recursão (pois creio que o problema esteja aí)?
Obrigado.
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.