Функция Выполняет линейный поиск.
Синтаксис #include<stdlib.h>
void *lfind(const void *key, const void *base,
size_t *num, size_t width,
int(*fcmp)(const void *,const void *));
Файл, содержащий stdlib.h
прототип
Описание lfind производит линейный поиск по значению key в
массиве последовательных записей. Она использует
определенную пользователем программу сравнения
(fcmp).
Массив описывается как как содержащий *num
записей, каждая шириной width байт. base указывает
начало массива.
Возвращаемое lfind возвращает адрес первого, совпадающего с ис-
значение комым, элемента. Если совпаданий не обнаружено, то
lfind возвращает NULL. Подпрограмма сравнения
должна возвращать 0 если *elem1 == *elem2, и
ненулевое значение в противном случае. (elem1 и
elem2 это ее параметры).
Переносимость lfind уникальна для DOS.
Смотрите также bsearch, lsearch, qsort.
Пример:
#pragma warn -rpt
#include<stdio.h>
#include<stdlib.h>
int compare(int *x,int *y)
{
return(*x-*y);
}
int main(void)
{
int array[5] = {35,87,46,99,12};
int key;
int *result;
key = 99;
result = lfind(&key,array,5,sizeof(int),compare);
if(result)
printf("Число %d найдено",key);
else
printf("Число %d ненайдено",key);
return 0;
}
|