ve se isso aqui ajuda você quando você selecionar os 2 melhores você vai cair numa situação de uma arvore binaria onde 2 times jogam e so um passa como você ja deve saber aqui está o codigo prara inserir na arvores
faça uma analogia com o seu ´programa
raiz insere(raiz a, Diretorio
{
if(vazia(a))
{
raiz nova;
nova = (raiz)malloc(sizeof(Elo));
nova->esq = NULL;
nova->dir = NULL;
nova->f = b;
return nova;
}
else
{
if(strcmp(a->f.nome_pasta,b.nome_pasta) < 0)
{
a->dir = insere(a->dir,;
}
else
{
a->esq = insere(a->esq,;
}
return a;
}
}
typedef struct diretorio
{
char nome_pasta[100];
char info[100];
char descricao[100];
char nome_dir[100];
}Diretorio;
typedef struct elo
{
Diretorio f;
struct elo *dir;
struct elo *esq;
}Elo;
typedef Elo *raiz;
essas carinha ai são a letra "b" não sei porque ele faz isso ai na hora de formatar