Section courante

A propos

Section administrative du site

BSEARCH

Recherche binaire
Langage C++ cstdlib (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.

Remarques

Exemple

Voici quelques exemples typiques de l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <iostream>
  2. #include <cstring>
  3. #include <cstdlib>
  4.  
  5. #define NUM_ELEMENT_ARRAY 7
  6. #define STR_LENGTH 5
  7.  
  8. char strvalues[][STR_LENGTH] = {"ABC","DEF","GHI","JKL","MNO","PQR","STU"};
  9.  
  10. int main()
  11. {
  12.     if(NULL != (char*)bsearch("DEF", strvalues, NUM_ELEMENT_ARRAY, STR_LENGTH, (int(*)(const void*,const void*)) strcmp)) {
  13.        std::cout << "DEF est dans le tableau." << std::endl;
  14.     } else {
  15.        std::cout << "DEF n'est pas trouvé dans le tableau." << std::endl;
  16.     }
  17.     return 0;
  18. }

on obtiendra le résultat suivant :

DEF est dans le tableau.

Voir également

Langage de programmation - C++ - Référence de procédures et fonctions - qsort
Langage de programmation - C - Référence de procédures et fonctions - bsearch

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 730.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 44.

Dernière mise à jour : Lundi, le 3 août 2015