折半查找


折半查找也成二分查找,是一种高效率的算法,算法思路很简单不多说,时间复杂度为O(log2 n)。

#include 

using namespace std;

int Search_Bin(int a[],int n,int key)
{
    int low=0,high=n-1;
    while(low<=high)
    {
        int mid=(low+high)/2;
        if(a[mid]==key)
        {
            return mid+1;
        }
        else if (a[mid]>key)
        {
            high=mid-1;
        }
        else if(a[mid]>n)
        {
            for(int i=0; i>a[i];
            }
            cin>>k;
            ans=Search_Bin(a,n,k);
            if(ans)
            {
               cout<


你可能感兴趣的:(查找)