另一个简单的binary_search算法:

来源:互联网 发布:林天宝知乎 编辑:程序博客网 时间:2024/03/29 01:10

另一个简单的算法:

int binary_search2(const char* key, const char* array[], int ilen)
{
 int start = 0;
 int end = ilen-1;

 while (start <= end) {
  int mid = (end + start)/2;
  int ret = strcmp(array[mid], key);
  if (ret == 0)
   return mid;
  else if (start == end)
   break;
  else if (ret > 0) // value > key
   end = mid - 1;
  else  // value < key
   start = mid + 1;
 }

 return -1;

在标准C库中,已经存在了一个函数:bsearch()

原创粉丝点击