折半查找

来源:互联网 发布:网络直播app 哪个好 编辑:程序博客网 时间:2024/06/06 00:39

递归算法:


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

非递归算法:

#include<stdio.h>int binarysearch(int *a,int key){    int mid = (low+high)/2;    while(low<high)    {        if(a[mid]==key)            return mid;        if(a[mid]>key)            high = mid - 1;        else            low = mid + 1;    }}


原创粉丝点击