Binary_search - C Referenz

wenn der Wert Test existiert in sortierter Reihenfolge

Gibt true zurück, wenn ein Element im Bereich [first, last) entspricht val. und andernfalls false.

Die Elemente werden miteinander verglichen Operator< for the first version, and comp for the second. Two elements, a and b are considered equivalent if (!(a

Die Elemente in dem Bereich sind bereits nach dem gleichen Kriterium sortiert werden (Operator< or comp ), or at least partitioned with respect to val .

Die Funktion optimiert die Anzahl von Vergleichen durch einen Vergleich nicht aufeinanderfolgende Elemente des sortierten Bereichs durchgeführt, die für die Schreib-Lese-Iteratoren besonders effizient ist.

Das Verhalten dieser Funktion Vorlage entspricht:

Parameter

erste, letzte Vorwärts Iteratoren zu den Anfangs- und Endpositionen einer sortiert (oder richtig partitioniert) -Sequenz. Der Bereich verwendet wird, ist [first, last). welches enthält alle Elemente zwischen dem ersten und letzten. einschließlich dem durch die erste, aber nicht das Element weist von zuletzt darauf Elemente.
val Preis im Bereich zu suchen.
Für 1). T wird von einer Art sein, die verglichen mit den Elementen des Bereichs Stütz [Ersten, liest) entweder als Operand des Operators<. comp Binary function that accepts two arguments of the type pointed by ForwardIterator (and of type T ), and returns a value convertible to bool. The value returned indicates whether the first argument is considered to go before the second.
Die Funktion soll nicht ihre Argumente ändern.
Dies kann entweder eine Funktion oder ein Funktionszeiger Objekt sein.

Rückgabewert

true, wenn ein Element entspricht val gefunden wird, und andernfalls false.

Komplexität

Im Durchschnitt logarithmisch in dem Abstand zwischen dem ersten und letzten. Führt etwa log2 (N) + 2 Element Vergleiche (wobei N dieser Abstand).
Auf Nicht-Random-Access-Iteratoren. die Iterator Fortschritte produzieren sich eine zusätzliche lineare Komplexität in N im Durchschnitt.

Daten Rennen

Die Gegenstände im Bereich [first, last) zugegriffen.

Ausnahmen

Wirft, wenn entweder ein Element oder eine Vergleichsoperation an einem Iterator wirft.
Beachten Sie, dass ungültige Argumente nicht definiertes Verhalten verursachen.

Finden Sie finden Wert in Bereich (Funktions-Template) lower_bound Iterator Return to untere Schranke (Funktions-Template) upper_bound Iterator Zurück zur Obergrenze (Funktions-Template) equal_range Get subrange gleicher Elemente (Funktions-Template)

In Verbindung stehende Artikel