インプリメンテーション二分法ルックアップ(再帰インプリメンテーション)
579 ワード
再帰的に二分法検索を実現する:
#include
#include
void main(){
int doubleCheck(int a, int b, int c, int d[]);
int d[] = { 1, 2, 3, 4, 5, 6 };
doubleCheck(0,5,5,d);
getchar();
}
void doubleCheck(int a,int b,int c,int d []){//a ,b ,c ,d 。
int x = (a + b) / 2;
// 。
if (d[x] == c)
{
printf("%d",x);
}
if (d[x] > c)// d[a]-d[x]
{
doubleCheck(a, x-1, c, d);
}
if (d[x] < c)
{
doubleCheck(x+1, b, c, d);
}
}