biblioteca algoritmo O C + + da Biblioteca Padrão contém implementações de muitos algoritmos de programação comuns. Essas implementações oferecem uma gama de flexibilidade, permitindo ao programador especificar funções de comparação para os algoritmos baseados em comparação que pode trabalhar com qualquer estrutura de dados possíveis. Adicionando uma função de comparação para uma busca binária utilizando ponteiros de função permite que o programador aproveitar essa flexibilidade , e garante que qualquer objeto criado pelo programador podem ser pesquisados com a biblioteca padrão. Coisas que você precisa
editor de texto
Compiler
Show Mais instruções
1
Classificar a lista de objetos a serem pesquisados . A busca binária depende de uma lista ordenada estar presente. Use a função de classificação da biblioteca padrão para simplificar este processo ao usar recipientes de biblioteca padrão :
std :: sort ( myList.begin (); myList.end ());
2
Crie a sua função de comparação para o algoritmo de busca binária. A função de comparação deve retornar true se o primeiro argumento é menor que o segundo . Personalize esta função para aceitar argumentos de sua classe especificada, e garantir que a classe em questão implementa a menos do que ( "<" ) Operador :
bool MyComparison ( MyType i, j MyType )
{
retorno ( i < j) ;
}
3
Fornecer sua função de comparação como um argumento para a função de busca binária da biblioteca padrão :
binary_search ( myList.begin () , myList.end () , MyComparison );
Esta função irá agora usar a sua função de comparação para executar a busca binária
.