2018-10-06

#include <iostream>

using namespace std;

int main()

{int binary_search(int*a,int n,int x);

int n=10;

int p=6;

int q;

int sorted_array[n]={1,2,3,4,5,6,7,8,9,10};

q=binary_search(sorted_array,n,p);

if (q==-1)

    cout<<"Not Found"<<endl;

else

    cout<<"idx="<<q+1<<endl;

return 0;

}

int binary_search(int*a,int n,int x)

{int low=0;

int high=n-1;

int mid;

while(low<=high)

{

  if(a[low]==x)

    return (low);

  if(a[high]==x)

    return (high);

  mid=low+(high-low)/2;

  if(a[mid]==x)

    return (mid);

  if(a[mid]<x)

    low=mid+1;

  else

    high=mid-1;

}

if(low>high)

        return (-1);

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容