二分查找

来源:互联网 发布:dnf网络连接中断怎么办 编辑:程序博客网 时间:2024/06/05 22:31

递归的方法:

int binsearch(int low,int high,int key){    if(low<=high)    {        int mid=(low+high)/2;        if(key==a[mid])        {            return mid;        }        else if(key<a[mid])        {            binsearch(low,mid-1,key);        }        else if(key>a[mid])        {            binsearch(mid+1,high,key);        }    }    else         return -1;}

非递归的方法

int binsearch(int len,int key){    low=0;    high=len-1;    while(high>=low)    {        mid=(low+high)/2;        if(key==a[mid])        {            return mid;        }        else if(mid>key)        {            high=mid-1;        }        else if(mid<key)        {            low=mid+1;        }    }    else //没找到    {        return -1;    }}


0 0
原创粉丝点击