二分法查找

据说,很多研究生都不能一次很快写对的算法

#include<iostream>
#include<stdio.h>
using namespace std;
int binarysearch(int aim,int a[],int n)
{
    int left=0;
    int right=n-1;

    if(left<right){
            int mid=(left+right)/2;
            if(aim==a[mid])
              return mid;
            if(aim<a[mid])
              return right=mid-1;
            else
              return left+1;
            }
}
int main()
{
    int a[10]={8,3,54,77,22,44,66,333,6,2};
    int aim=22,n;
    n=10;
    printf("%d\n",binarysearch(aim,a,n));
    system("pause");
}
    

原文地址:https://www.cnblogs.com/laobanban/p/2963946.html