BSEARCH |
Recherche binaire |
---|---|
Symantec C++ Version 6.0+ | stdlib.h |
Syntaxe
void *bsearch(const void *key,const void *base, size_t num, size_t width, int(*compare)(const void *elem1,const void void *elem2)); |
Paramètres
Nom | Description |
---|---|
key | Ce paramètre permet d'indiquer l'adresse de la valeur à rechercher |
base | Ce paramètre permet d'indiquer l'adresse du tableau |
num | Ce paramètre permet d'indiquer le nombre d'item que contient le tableau |
width | Ce paramètre permet d'indiquer la taille d'un item du tableau |
compare | Ce paramètre permet d'indiquer la fonction a utiliser pour la comparaison et doit retourner une valeur pour indiquer si les items sont inférieur, égale ou supérieur |
elem1 | Ce paramètre permet d'indiquer le premier item fonction a utiliser pour la comparaison |
elem2 | Ce paramètre permet d'indiquer le deuxième item fonction a utiliser pour la comparaison |
Description
Cette fonction effectue une recherche binaire (dichotomique) dans un tableau.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
-
- #define NUM_ELEMENT_ARRAY 7
- #define STR_LENGTH 5
-
- char strvalues[][STR_LENGTH] = {"ABC","DEF","GHI","JKL","MNO","PQR","STU"};
-
- int main () {
- if(NULL != (char*)bsearch("DEF", strvalues, NUM_ELEMENT_ARRAY, STR_LENGTH, (int(*)(const void*,const void*)) strcmp)) {
- printf("DEF est dans le tableau.\n");
- } else {
- printf("DEF n'est pas trouvé dans le tableau.\n");
- }
- return EXIT_SUCCESS;
- }
on obtiendra le résultat suivant :
DEF est dans le tableau.Voir également
Langage de programmation - Symantec C++ - Référence de fonctions - qsort
Dernière mise à jour : Dimanche, le 9 décembre 2018