整理下以前写过的练习代码,陆续放到网上。
#include <iostream>
#include <stdlib.h>
using namespace std;
#define long 5
bool Binarysearch(int *a, int iFind)
{
if ((iFind < a[0]) || (iFind > a[long - 1]))
return false;
int max,min,mid;
max = long - 1;
min = 0;
while(max >= min)
{
if ((iFind == a[min]) || (iFind == a[max]))
{
break;
}
else
{
mid = (max - min)/2;
if (mid == 0)
return false;
if (iFind == a[mid])
{
break;
}
else if (iFind > a[mid])
{
min = min + mid + 1;
max -= 1;
}
else
{
max = max - mid - 1;
min += 1;
}
}
}
return true;
}
int main(int argc,char **argv)
{
int a[long] = {1,2,3,4,6};
if (Binarysearch(a,2))
cout<<"find"<<endl;
else
cout<<"no find "<<endl;
}