Desc :

 

void *bsearch( const void *key, const void *base, size_t num, size_t width

, int (*compare )( const void *elem1, const void *elem2) );

key - 검색할 키 값

base - 검색할 배열

num - 배열의 갯수

width - 배열 요소가 차지하는 크기

compare - 비교함수

 

return - 검색된 위치에 대한 주소 값 / 검색되지 않음 NULL


Source Code :

#include <stdio.h>
#include <stdlib.h>
#include <search.h>

int intcmp(const void* v1, const void* v2);

void main()
{
	int key =5, *ptr;
	int array[10] = { 10,27,33,1,2,5,99,75,81,100 };

	qsort(array, 10, sizeof(array[0]),intcmp);	// 오름차순 정렬
	ptr = bsearch(&key, array, 10, sizeof(array[0]), intcmp);

	if (ptr)
	{
		puts("5를 찾았습니다.");
	}
}
int intcmp(const void* v1, const void* v2)
{
	return(*(int*)v1 - *(int*)v2);
}

 


Result :

+ Recent posts