問題2 二分搜索技術(shù)

二分搜索技術(shù)的基本思想是將n個元素分為個數(shù)大致相同的兩半,取a[n/2]與x作比較

#include<iostream> 
using namespace std;
int binary_search(int a[],int low,int high,int key){
    while(low<=high){
        int mid=(low+high)/2;
        if(key==a[mid]) return mid;
        else if(key>a[mid]) low=mid+1;
        else high=mid-1;
    }
    return -1;
}//二分查找迭代實現(xiàn)
int binary_search1(int a[],int low,int high,int key){
    while(low<=high){
        int mid=(low+high)/2;
        if(key==a[mid]) return mid;
        else if(key>a[mid]) return binary_search1(a,mid+1,high,key);
        else return binary_search1(a,low,mid-1,key);
    }
    return -1;
}//二分查找遞歸實現(xiàn) 
int main(){
    int array[10]={0,1,2,3,4,5,6,7,8,9};
    cout<<binary_search1(array,0,9,5);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容