| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1385 人关注过本帖
标题:求折半查找的递归算法!
只看楼主 加入收藏
howema
Rank: 1
等 级:新手上路
帖 子:336
专家分:0
注 册:2005-10-4
结帖率:50%
收藏
 问题点数:0 回复次数:5 
求折半查找的递归算法!
请高手赐教!
搜索更多相关主题的帖子: 递归 算法 折半 
2006-11-11 17:55
howema
Rank: 1
等 级:新手上路
帖 子:336
专家分:0
注 册:2005-10-4
收藏
得分:0 
help
2006-11-11 18:28
howema
Rank: 1
等 级:新手上路
帖 子:336
专家分:0
注 册:2005-10-4
收藏
得分:0 
No body know??
2006-11-11 21:05
guzhou
Rank: 1
等 级:新手上路
威 望:1
帖 子:247
专家分:0
注 册:2006-11-4
收藏
得分:0 
一定要递归吗?why?

2006-11-12 15:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
/*没有测试,大概思路就是这个样子,返回1表示查找成功,否则失败,要注意初始时a[]是从小到大排好序的.*/

int digui(int a[],int l,int r,int x)
{
int mid;
mid=(l+d)/2;
if(l<=r)
{
if(a[mid]==x)
{
return(1);
}
else
{
if(x<a[mid])
{
digui(a,l,mid-1,x);
}
else
{
digui(a,mid+1,r,x);
}
}
}
return(0);
}

[此贴子已经被作者于2006-11-12 22:30:04编辑过]


倚天照海花无数,流水高山心自知。
2006-11-12 22:26
lihengfeng
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-11-19
收藏
得分:0 
/* binsearch函数:在v[0]<=v[1]<=v[2]<=……<=v[n-1]中查找x */
int binsearch(int x, int v[], int n)
{
int low, high, mid;

low = 0;
high = n - 1;
while (low <= high) {
mid = (low+high) / 2;
if (x < v[mid])
high = mid - 1;
else if (x > v[mid])
low = mid + 1;
else /* 找到了匹配的值 */
return mid;
}
return -1; /* 没有匹配的值 */
}
2006-11-24 10:40
快速回复:求折半查找的递归算法!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012030 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved