C + La bibliothèque de l'algorithme de + bibliothèque standard contient des implémentations de nombreux algorithmes de programmation communs. Ces implémentations offrent une gamme de flexibilité , ce qui permet au programmeur de spécifier des fonctions de comparaison pour comparaison algorithmes basés qui peuvent travailler avec n'importe quelle structure de données possibles et imaginables. Ajout d'une fonction de comparaison à une recherche binaire utilisant des pointeurs de fonction permet au programmeur de tirer parti de cette flexibilité, et assure que tout objet créé par le programmeur peut être recherché avec la bibliothèque standard. Choses que vous devez
texte éditeur
compilateur
Afficher plus Instructions
1
Trier la liste des objets à rechercher. Une recherche binaire dépend d'une liste triée être présent . Utilisez la fonction de tri de la bibliothèque standard pour simplifier ce processus lors de l'utilisation des conteneurs de la bibliothèque standard :
std :: sort ( myList.begin (); myList.end ());
2
Créez votre fonction de comparaison pour l'algorithme de recherche binaire. La fonction de comparaison doit retourner vrai si le premier argument est inférieur au second . Adaptez cette fonction à accepter les arguments de votre classe spécifiée, et veiller à ce que la classe en question met en œuvre la moins-que ( "<" ) opérateur :
bool MyComparison ( MyType i , j MyType )
< p> {
Return of ( i < j); }
3
fournir votre fonction de comparaison en tant qu'argument à la fonction de recherche binaire de la bibliothèque standard : Photos
binary_search ( myList.begin (), myList.end (), MyComparison ) ;
Cette fonction va maintenant utiliser votre fonction de comparaison pour effectuer la recherche binaire
.