The C + + Standard Library algoritme Biblioteket inneholder implementeringer av mange vanlige programmering algoritmer . Disse implementeringer tilbyr et utvalg av fleksibilitet, slik at programmereren å spesifisere sammenligning funksjoner for sammenligning - baserte algoritmer som kan arbeide med enhver datastruktur tenkelig . Legge til en sammenligning funksjon til en binær søk ved hjelp funksjonspekere tillater programmereren å dra nytte av denne fleksibiliteten , og sørger for at ethvert objekt skapt av programmerer kan søkes med standard bibliotek . Du trenger
tekst editor
Compiler
Vis flere instruksjoner
en
Sorter listen over objekter som skal søkes. En binær søk avhenger av en sortert liste er til stede. Bruk standard bibliotekets slags funksjon for å forenkle denne prosessen når du bruker standard bibliotek containere :
std :: sort ( myList.begin (); myList.end ( ));
2
Lag din sammenligning funksjon for den binære søk algoritmen . Sammenligningen funksjonen returnere sann dersom det første argumentet er mindre enn den andre . Tilpasse denne funksjonen til å akseptere argumenter av den angitte klassen , og sørge for at klassen i spørsmålet implementerer mindre enn ( "<" ) operatør : en
bool MyComparison ( MyType i, MyType j )
< p> {
avkastning ( i < j ) ;
}
3
Forsyning din sammenligning fungere som et argument til standard bibliotekets binære søkefunksjonen : en
binary_search ( myList.begin ( ) , myList.end ( ) , MyComparison ) ;
Denne funksjonen vil nå bruke sammenligning funksjonen til å utføre den binære søk
.