Aplicação em linguagem C para dar manutenção em um cadastro de nomes de pessoas armazenado em memória RAM usando uma árvore de pesquisa binária.
O programa, ao ser iniciado, deverá carregar uma base de dados de nomes inicial a partir de um arquivo texto. Cada nome, com não mais que 30 caracteres, deverá ser inserido em uma árvore de pesquisa binária mantida em memória RAM através de uma chamada à operação inserir, usando como chave o próprio nome.
A tela do programa deverá fornecer um menu para permitir as seguintes operações:
- Recarregar a listagem de nomes a partir do arquivo. Para tanto, todo o conteúdo da árvore anterior deverá ser removido e uma nova carga deverá ser feita, como descrito acima.
- Listar todos os nomes em ordem alfabética.
- Listar todos os nomes que contém uma substring fornecida.
- Inserir um novo nome na memória.
- Remover um nome da memória.
- Listar e remover da memória todos os nomes que são maiores, em ordem alfabética, que um nome fornecido.
- Listar e remover da memória todos os nomes que são menores, em ordem alfabética, que um nome fornecido.
- Salvar o conteúdo da memória em um arquivo texto. Para facilitar a implementação, armazene todas os nomes em letras minúsculas, e considere as entradas fornecidas nas operações como sendo minúsculas.