二分查找(递归与非递归)

Posted szj666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找(递归与非递归)相关的知识,希望对你有一定的参考价值。

#include <stdlib.h>
#include <stdio.h>
//二分查找非递归

int Binary_Search(int list[],int key,int length){
    int low=0,high=length-1;
    while (low<=high){
        int mid=(high+low)/2;
        if (list[mid]==key)
            return ++mid;
        else if (list[mid]>key)
            high=mid-1;
        else if (list[mid]<key)
            low=mid+1;
    }
    return -1;
}
int main(){
    int list[10]={1,3,5,6,7,8,9,10,11,19};
    int number=Binary_Search(list,10,10);
    printf("%d",number);
    return 0;
}

以上是关于二分查找(递归与非递归)的主要内容,如果未能解决你的问题,请参考以下文章

二分查找实践

二分查找

二分查找

实现有序表二分查找

斐波那契数与二分法的递归与非递归算法及其复杂度分析

二分查找的递归和非递归写法