[求助]关于减半查找
我自己写了一个,不知道我写的着样的好不好 。我感觉可能有点复杂化
谁能写个更简单的呢? 我好对比对比
#include"stdio.h"
#include"string.h"
int fun(int,int*,int,int);
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i=10,k;
scanf("%d",&k);
fun(i/2,a,k,0);
}
int fun(int i,int *a,int k,int j)
{
if(i<1&&a[1]==k)
{printf("一共查找了:%d次",j);return 0;}
if(a[i]==k)
{
printf("一共查找了:%d次",j);return 0;}
else if(a[i]>k)
fun(i/2,&a[0],k,j+1);
else if(a[i]<k)
fun(i/2,&a[i],k,j+1);
}
[此贴子已经被作者于2006-10-24 22:07:01编辑过]