二分查找

二分查找的实现:
对于给定的数组和值,查找该值是否存在。

#include<iostream>
using namespace std;

int main(){
    int k=60;
    int a[]={1,5,6,9,10,30};
    int length = sizeof(a)/sizeof(a[0]);
    int l=0;
    int r=length-1;
    int pos=-1;
    
    while(r-l>=0){
        int mid=(l+r)/2;
        
        if(k<a[mid]){
            r=mid-1;
        }else if(k>a[mid]){
            l=mid+1;
        }else if(k==a[mid]){
            pos=mid;
            break;
        }
        
    }
    
    cout<<pos;
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。