2016. 6. 22. 11:15

c++의 bsearch 함수는 이진검색을 하는 함수이다.

이진검색을 하기 위해서 자료는 반드시 정렬되어 있어야 한다.


c++의 bseacrh는 다음과 같이 사용할 수 있다.

bsearch 할 데이터의 구조에 맞게끔 compare 함수는 작성해야 한다.

(다양한 데이터 구조에서 사용할 수 있다.


셈플 코드는 다음과 같다.


int compare( const void *cmp1, const void *cmp2)

{

   return strcmp( (char *)cmp1, (char *)cmp2);

}


#define  SIZE_TABLE     10

#define  SIZE_ITEM      20


int main( void)

{

   char  table[SIZE_TABLE][SIZE_ITEM]  = { "com", "size", "aaaa", "bbbb", "cccc", "dddd"};

   char *ptr;


   ptr   = (char *)bsearch( "size", table, SIZE_TABLE, SIZE_ITEM, compare);

   printf( "find chracter = %sn", ptr);

  

   return 0;

}



Posted by 은돌군