折半查找法的递归实现

折半查找法的递归实现

这个是我网上找的c程序,供参考:#includeintbin_search(intkey[],intlow,inthigh,intk){intmid;if(low>high)return-1;else{mid=(low+high)/2;if(key[mid]==k)returnmid;if(k>key[mid])returnbin_search(key,mid+1,high,k);/*在序列的后半部分查找*/elsereturnbin_search(key,low,mid-1,k);/*在序列的前半部分查找*/}}intmain(){intn,i,addr;inta[10]={2,3,5,7,8,10,12,15,19,21};printf("thecontentsofthearraya[10]are\n");for(i=0;i<10;i++)printf("%d",a[i]);/*显示数组a中的内容*/printf("\nPleaseinputaintergerforsearch\n");scanf("%d",&n);/*输入待查找的元素*/addr=bin_search(a,0,9,n);if(-1!=addr)/*查找成功*/printf("%disatthe%dthunitisarraya\n",n,addr);elseprintf("thereisno%dinarraya\n",n);/*查找失败*/getchar();return0;}

首页