编程,用折半查找法。

编程,用折半查找法。

#include <stdio.h>

int* binary_search(int val, int a[], int n)

{

int m = n/2;

if (n <= 0)return nuLL;

if (val == a[m]) return a + m;

if (val < a[m]) return binary_search(val, a, m);

elsereturn binary_search(val, a+m+1, n-m-1);

}

int main()

{

int a[] = { 0,1,2,3,4,5,6,7,8,9 };

int s, *p;

scanf("%d", &s);

if((p = binary_search(s, a, 10)) == nuLL)

printf("未找到\n");

else

printf("在第%d个位置\n", p-a);

}

首页