Section courante

A propos

Section administrative du site

LSEARCH

Recherche linéaire
Turbo C stdlib.h

Syntaxe

void *lsearch(const void *key,const void *base,size_t nelem,size_t width,int (*compare)());

Paramètres

Nom Description
key Ce paramètre permet d'indiquer l'élément devant être recherché.
base Ce paramètre permet d'indiquer le tableau dans lequel la recherche doit être effectué à partir de l'élément 0.
nelem Ce paramètre permet d'indiquer le nombre d'élément que contient le tableau.
width Ce paramètre permet d'indiquer la taille en octets d'un élément 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.

Description

Cette fonction permet d'effectuer une recherche selon une méthode linéaire dans le tableau spécifié et si la valeur recherché n'est pas trouvé, elle l'ajoute à la fin du tableau.

Remarques

Exemple

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

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  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.  if(NULL != (char*)lsearch("DEF", strvalues, NUM_ELEMENT_ARRAY, STR_LENGTH, (int(*)(const void*,const void*)) strcmp)) {
  12.   printf("DEF est dans le tableau.\n");
  13.  } else {
  14.   printf("DEF n'est pas trouvé dans le tableau.\n");
  15.  }
  16.  return 0;
  17. }

on obtiendra le résultat suivant :

DEF est dans le tableau.

Voir également

Langage de programmation - Turbo C - Référence de fonctions - lfind
Langage de programmation - Turbo C - Référence de fonctions - bsearch

Dernière mise à jour : Samedi, le 4 juillet 2015