二分查找

第一步

#include<iostream>
using namespace std;

int binarySearch(int a[], int x, int n)
{
    int left=0;
    int right=n-1;
    while(left <= right)
    {
         int middle=(left + right) / 2;
         if(x == a[middle])
              return middle;
         else if(x > a[middle])
              left = middle+1;
         else if(x < a[middle])
              right = middle -1;
    }
    return -1;
}

int main()
{
    int a[10] = {1, 3, 4, 56, 78, 98,743,2423,5324,45336};
    int x;
    while(cin>>x)
    {
        cout<<binarySearch(a, x, 10)<<endl;
    }
    return 0;
}



posted on 2012-05-25 13:30  java课程设计例子  阅读(148)  评论(0)    收藏  举报