//折半查找算法
/*****************************************************************************
* @brief 函数binary_search
* 从items中查找key是不是存在
* @param items 原数据集合
* @param count items的多少
* @param key 要查找的单元
* @return 查找到的位置,或者是-1
***********************************************************************/
static inline int binary_search(
int *items, int count, int key)
{
int low, high, mid;
low = 0;
high = count-1;
while (low <= high)
{
mid = (low+high)/2;
if (key < items[mid])
high = mid-1;
else if (key > items[mid])
low = mid+1;
else
return mid; /* found */
}
return -1;
}