`
seara
  • 浏览: 624605 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

拆半查找的递归和非递归算法

阅读更多
本文为原创,如需转载,请注明作者和出处,谢谢!

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->#include<stdio.h>

intbinary_search(intx,intdata[],intb,inte)
{
inti;
while(b<=e)
{
i
=(b+e)/2;
if(data[i]==x)returni;
if(data[i]<x)
b
=i+1;
else
e
=i-1;
}
return-1;
}

intbinary_search_recursion(intx,intdata[],intb,inte)
{
inti;
i
=(b+e)/2;
if(b>e)return-1;
if(data[i]!=x)
{
if(x<data[i])
returnbinary_search_recursion(x,data,0,i-1);
else
returnbinary_search_recursion(x,data,i+1,e);
}
else
returni;
}

intmain()
{
intdata[]={1,4,5,7,9};
printf(
"%d\n",binary_search_recursion(9,data,0,4));
printf(
"%d\n",binary_search(9,data,0,4));
printf(
"%d\n",binary_search_recursion(90,data,0,4));
printf(
"%d\n",binary_search(89,data,0,4));
return0;
}


国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics