标题:实现折半查找


int BinSearch(int a[], int n, int k)

{

     int low, high, mid, find, i;

    

     find = 0;

     low = 1;

     high = n;

 

     while (low <= high && !find)

    {

         mid = (low + high)/2;

         if (a[mid] < k)

              low = mid + 1;

         else if (a[mid] > k)

              high = mid - 1;

         else

        {

              i = mid;

              find = 1;

         }

     }

     if (!find)

         i = 0;

     return i;

}

 

折半查找必须满足两个条件:一,元素必须是连续存储;二,元素必须有序。



看文字不过瘾?点击我,进入腾讯课堂视频教学
麦洛科菲长期致力于IT安全技术的推广与普及,我们更专业!我们的学员已经广泛就职于BAT360等各大IT互联网公司。详情请参考我们的 业界反馈 《周哥教IT.C语言深学活用》视频

我们的微信公众号,敬请关注