C-Bibliotheksfunktion -bsearch()
C-Standardbibliothek - <stdlib.h>
bsearch ist eine Funktion in der C-Standardbibliothek, die verwendet wird, um eine binäre Suche in einem sortierten Array durchzuführen. Ihre Definition befindet sich in der Header-Datei stdlib.h.
C-Bibliotheksfunktionenvoid *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))PaarnitemsFührt eine binäre Suche in einem Array von Objekten durch,baseVerweist auf das zu durchsuchende Array,keyVerweist auf das zu suchende Element,sizeGibt die Größe jedes Elements im Array an.
Der Inhalt des Arrays sollte in aufsteigender Reihenfolge gemäßcompar,der entsprechenden Vergleichsfunktion, sortiert sein.
Deklaration
Das Folgende ist die Deklaration der Funktion bsearch().
void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
Parameter
key: Zeiger auf das Zielelement, nach dem gesucht werden soll.base: Zeiger auf die Anfangsposition des Arrays.nmemb: Anzahl der Elemente im Array.size: Die Größe jedes Elements (in Bytes).compar: Zeiger auf die Vergleichsfunktion, die zum Vergleichen zweier Elemente verwendet wird.
Rückgabewert
- Wenn ein passendes Element gefunden wird,
bsearchgeben Sie einen Zeiger auf dieses Element zurück. - Wenn kein passendes Element gefunden wird,
bsearchreturnNULL。
Vergleichsfunktion
Die Vergleichsfunktion muss der folgenden Signatur entsprechen:
int compar(const void *a, const void *b);
Funktion gibt zurück:
- Ein negativer Wert, wenn
akleiner alsb。 - Null, wenn
aequalsb。 - Ein positiver Wert, wenn
agrößer alsb。
Beispiel
Das folgende Beispiel demonstriert die Verwendung der Funktion bsearch().
Beispiel
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
Found item = 32Weitere Erweiterungen