Função 10 maiores valores de uma arvore binária em C

Então pessoal to precisando saber como faz uma função para escrever os 10 maiores valores de uma arvore binaria em C, já tentei de varios jeitos mas não obtive nenhum sucesso, só consigo escrever o unico maior valor mesmo, da um help ae

Uma forma de resolver é converter a árvore para uma Max Heap e pegar 10 elementos da nova estrutura de dados.

Outra solução é transformar a árvore num array, ordená-lo e pegar os 10 primeiros elementos.