De C + + -algoritme bibliotheek Standard Library bevat implementaties van veel voorkomende algoritmen programmeren . Deze implementaties bieden een scala van flexibiliteit , waardoor de programmeur om een vergelijking functies opgeven voor vergelijking gebaseerde algoritmen die kan werken met elke datastructuur denkbaar. Het toevoegen van een vergelijking functie om een binair zoeken met behulp van de functie pointers kan de programmeur om te profiteren van deze flexibiliteit , en zorgt ervoor dat elk object gemaakt door de programmeur kan worden gezocht met de standaard bibliotheek . Wat je nodig hebt tekst editor Compiler Toon Meer Aanwijzingen 1 Sorteer de lijst van objecten die moeten worden doorzocht . Een binaire zoeken hangt af van een gesorteerde lijst aanwezig . Gebruik sorteerfunctie van de standaard bibliotheek is om dit proces te vereenvoudigen bij het gebruik van standaard bibliotheek containers : std :: sort ( myList.begin ( ) ; myList.end ( ) ) ; kopen van 2 Maak uw vergelijking functies voor binaire zoekalgoritme . De vergelijking functie moet return true als het eerste argument kleiner is dan de tweede . Pas deze functie aan argumenten van uw specifieke categorie te accepteren , en ervoor zorgen dat de betrokken klasse implementeert de minder-dan ( " < " ) exploitant : bool MyComparison ( MyType i , MyType j ) op { return ( i < j ) ; } 3 Supply uw vergelijking functie als een argument om binary search functie van de standaard library 's : binary_search ( myList.begin ( ) , myList.end ( ) , MyComparison ) ; Deze functie zal nu gebruik maken van uw vergelijking functie om de binaire zoekopdracht uitvoeren .
|