编程,用折半查找法。
#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);
}