黑马程序员技术交流社区

标题: 折半查找的实现 [打印本页]

作者: liulunjiang    时间: 2015-10-24 09:19
标题: 折半查找的实现
main.c
  1. #include <stdio.h>
  2. #include "findbyhalf.h"

  3. int main(int argc, const char * argv[]) {
  4.     int arr[]={11,22,33,44,55,66,77,88,99,100};
  5.     int location=locationSearch(arr, 10, 12);
  6.     printf("%d\n",location);
  7.     return 0;
  8. }
复制代码


findbyhalf.c
  1. #include "findbyhalf.h"

  2. int locationSearch(int arr[],int len,int goal)
  3. {
  4.     int low=0,high=len-1,mid;

  5.     while (low<=high)
  6.     {
  7.         mid=(low+high)/2;
  8.         if (goal>arr[mid]){
  9.             low=mid+1;
  10.         }else if(goal<arr[mid]){
  11.             high=mid-1;
  12.         }else{
  13.             return mid;
  14.         }
  15.     }
  16.     return -1;
  17. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2