Ir para conteúdo
Fórum Script Brasil
  • 0

Conversão ABP para lista


TNT

Pergunta

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:

TipoPtNo* conversao(TipoPtNo *lista, pNodoA abp)
{
     TipoInfoNo dados;

     if (abp != NULL)
     {
          strcpy(dados.nome, abp->info);
          dados.freq = abp->freq;  
          lista = Inserir(lista, dados);
          conversao(lista, a->esq);
          conversao(lista, a->dir);
      }

      return lista;
}

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

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...