Fonction de bibliothèque C -bsearch()
Bibliothèque standard C - <stdlib.h>
bsearch est une fonction de la bibliothèque standard C, utilisée pour effectuer une recherche binaire dans un tableau trié. Sa définition se trouve dans le fichier d'en-tête stdlib.h.
Fonctions de bibliothèque Cvoid *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))Pournitems, effectuez une recherche binaire sur un tableau d'objets,basePointe vers le tableau en cours de recherche,keyPointe vers l'élément à rechercher,sizeSpécifie la taille de chaque élément du tableau.
Le contenu du tableau doit être trié par ordre croissant seloncomparla fonction de comparaison correspondante.
Déclaration
Voici la déclaration de la fonction bsearch().
void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
Paramètre
key: Pointeur vers l'élément cible à rechercher.base: Pointeur vers la position de départ du tableau.nmemb: Nombre d'éléments dans le tableau.size: La taille de chaque élément (en bytes).compar: Pointeur vers la fonction de comparaison, qui est utilisée pour comparer deux éléments.
Valeur de retour
- Si un élément correspondant est trouvé,
bsearchrenvoie un pointeur vers cet élément. - Si aucun élément correspondant n'est trouvé,
bsearchreturnNULL。
Fonction de comparaison
La fonction de comparaison doit correspondre à la signature suivante :
int compar(const void *a, const void *b);
La fonction renvoie :
- Une valeur négative, si
ainférieur àb。 - Zéro, si
aequalsb。 - Une valeur positive, si
asupérieur àb。
Exemple
L'exemple suivant montre l'utilisation de la fonction bsearch().
Exemple
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
Found item = 32autres extensions