C / stdlib.h / bsearch
abort, abs, atexit, atof, atoi, atol, » bsearch, calloc, div, exit, free, getenv, labs, ldiv, malloc, mble, mbstowcs, mbtowc, qsort, rand, realloc, srand, strtod, strtol, strtoul, system, wctomb,
Funcion: bsearch()
Sintaxis:
void *bsearch(const void *clave, const void *base,   size_t nmemb, size_t tamanyo,    int (*comparar)(const void *,

Descripcion: Busca un array de nmemb objetos, el elemento inicial del que es apuntado por base, para un elemento que empareje el objeto apuntado por clave. El tamaño de cada elemento del array está especificado por tamanyo. La función de la comparación apuntada por comparar es llamada con dos argumentos que apuntan al objeto clave y a un elemento del array, en ese orden. La función retornará un entero menor, igual, o mayor que cero si el objeto clave es considerado, respectivamente a ser menor, igual, o mayor que el elemento del array. El array consistirá de: todos los elementos que comparan a ser menores, iguales, o mayores que el objeto clave, en ese orden.


Ejemplo:
/* EJEMPLO */
 
/* Implementación del algoritmo quick-sort para la ordenación de vectores
** y bsearch para buscar ciertos elementos
*/
 
#include <stdlib.h>
#include <stdio.h>
 
#define ELEMENTOS 100
 
/* Prototipo de la funci&oacute;n de comparar */
int comparar(const void *arg1, const void *arg2);
{
 if(*(int *)arg1 < *(int *)arg2) return -1;
   else if(*(int *)arg1 > *(int *)arg2) return 1;
   else return 0;
}
 
int main()
{
   int i, num;
   int lista[ELEMENTOS], int *elementoPtr;
 
   /* Contenido aleatorio */
   for(i = 0; i < ELEMENTOS; i++) lista[i] = rand() % 100 + 1;
 
   /* Quick-Sort */
   qsort(lista, ELEMENTOS, sizeof(lista[0]), comparar);
 
    /* Mostramos la lista ordenada */
   for(i = 0; i < ELEMENTOS; i++) printf("%d ", lista[i]);
   printf("\n");
 
   /* Ahora busquemos algunos elementos en la lista */
   puts( "Especifique un numero a encontrar dentro de la lista ordenada\n(un numero negativo para salir):" );
   scanf( "%d", &num );
   while( num >= 0 )
   {
      if( (elementoPtr = bsearch( num, lista, ELEMENTOS, sizeof(lista[0]), comparar )) != NULL )
          printf( "Encontrado: %d\n", *elementoPtr );
      else
          printf( "No encontrado: %d\n", num );
      scanf( "%d", &num );
   }
 
   return 0;
}
/* FIN DE EJEMPLO */

Librerias C

Librerias ANSI C
   string.hcstring
   math.hcmath
   stdio.hcstdio
   time.hctime
   stdlib.hcstdlib
   ctype.hcctype
   locale.hclocale
   signal.hcsignal
   setjmp.hcsetjmp

Librerias Borland
   conio.h
   graphics.h