在线咨询
有事点这里
有事点这里
看不懂这篇文章?联系我们
("麦洛克菲"长期致力于内核安全的推广与普及,我们更专业!)
求职QQ群:223902435。讨论各种求职笔试面试问题
作者:admin 时间:2015-10-31
标题:实现折半查找

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;

}

 

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