Árvore Binária de Busca [RESOLVIDO]

1. Árvore Binária de Busca [RESOLVIDO]

Aldo Oliveira
aldooliveira

(usa Fedora)

Enviado em 08/04/2016 - 11:01h

Bom dia, estou fazendo um trabalho com árvores binárias. Consigo exibir a lista (nós) em ordem de inserção.
Só não consigo exibir em ordem de lançamento (ex: inseri um filme com ano de lançamento 2015 no primeiro cadastro e um de 2016 no segundo). Nessa ordem, apareceria em primeiro o ano 2015 e depois 2016. O que preciso é que o 2016 apareça primeiro e depois 2015, ou seja, o mais novo primeiro.
Alguém me dá uma luz?


void ordem(filmes *raiz)
{
if(raiz != NULL)
{
ordem((raiz)->esq);
printf("\n\nFilme: ");
printf("%s", (raiz)->filme);
printf("\nLancamento = ");
printf("%d", (raiz)->lancamento);
ordem((raiz)->dir);
}
}



  


2. Re: Árvore Binária de Busca

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/04/2016 - 11:56h

O grande lance de árvores é que ela já fica ordenada no momento da inserção.

Uma coisa que você poderia querer, que vai além disso, é ter índices para lhe permitir ordená-la por mais de um critério (por exemplo, ordenar ao mesmo tempo por nome e por data de lançamento). Nesse caso, você terá de fazer duas (ou mais) árvores, sendo que não precisa haver uma cópia do registro inteiro em cada árvore, mas somente ponteiros para os registros. Os registros, por sua vez, não precisam ser parte de nenhuma das árvores, podendo residir num array ou numa lista.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts