📄 bsearch.c
字号:
/****************************************************************************/
/* bsearch v2.24 */
/* Copyright (c) 1993-2002 Texas Instruments Incorporated */
/****************************************************************************/
#include <stdlib.h>
_CODE_ACCESS void *bsearch(
register const void *key, /* ITEM TO SEARCH FOR */
register const void *base, /* POINTER TO ARRAY OF ELEMENTS */
size_t nmemb, /* NUMBER OF ELEMENTS TO SORT */
size_t size, /* SIZE IN BYTES OF EACH ITEM */
int (*compar)(const void *,const void *)) /* COMPARE FUNCTION */
{
register int i = 0; /* left scan index */
register int j = nmemb - 1; /* right scan index */
while( i <= j )
{
register int pivot = (j + i) / 2;
int result = (*compar) (key, (char *)base + (pivot * size));
if (result == 0) return((char *)base + (pivot * size));
if (result < 0) j = pivot - 1;
else i = pivot + 1;
}
return ((void *)0); /* IF WE GET TO HERE, WE FAILED */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -