The C + + Standard Library algoritme Biblioteket indeholder implementeringer af mange almindelige programmering algoritmer. Disse implementeringer tilbyder en vifte af fleksibilitet , så programmøren at angive sammenligningsfunktioner til sammenligning - baserede algoritmer , der kan arbejde med enhver datastruktur tænkelige. Tilføjelse af en sammenligning funktion til en binær søgning ved hjælp funktionspointere tillader programmøren at drage fordel af denne fleksibilitet , og sikrer, at ethvert objekt skabt af programmøren kan søges med standard biblioteket . Ting du skal
Text editor
Compiler
Vis Flere Instruktioner
1
sortere listen over objekter, der skal søges. En binær søgning afhænger af en sorteret liste er til stede . Brug standard bibliotekets slags funktion til at forenkle denne proces, når ved hjælp af standard bibliotek containere :
std :: sort ( myList.begin (); myList.end ());
2
Opret din sammenligning funktion for den binære søgealgoritme . Sammenligningen skal funktionen returnere sand, hvis den første argument er mindre end den anden . Tilpas denne funktion til at acceptere argumenter for dit angivne klasse , og sikre, at den pågældende klasse implementerer mindre end ( "<" ) operatør : Hej
bool MyComparison ( MyType i, MyType j )
< p> {
afkast ( i < j)
}
3
Supply din sammenligning funktion som et argument til den standard bibliotekets binære søgefunktion : Hej
binary_search ( myList.begin () , myList.end () , MyComparison ),
Denne funktion vil nu bruge din sammenligning funktion til at udføre den binære søgning
.