C语言 重复元素折半查找
想了半天没想出好的方式,给了一段丑陋的代码,仅供参考:
intbsearch(inta[],intlen,intsearchnum)
{
intlow=0;
inthight=len-1;
intmid=0;
while(low<hight)
{
mid=(low+hight)/2;
if(searchnum>a[mid])
{
low=mid+1;
}
elseif(searchnum<a[mid])
{
hight=mid-1;
}
else
{
returnmid;
}
}
return-1;
}
voidspecailbsearch(inta[],intlen,intsearchnum,intpos[])
{
inti=0;
intj=0;
if((pos[j++]=bsearch(a,len,searchnum))!=-1)
{
i=pos[0];
while(a[++i]==searchnum)
{
pos[j++]=i;
}
i=pos[0];
while(a[--i]==searchnum)
{
pos[j++]=i;
}
}
}
voidtestbsearch()
{
inta[]={2,3,6,6,6,6,6,8};
intb[8]={0};
intlen=sizeof(a)/sizeof(int);
bsearch(a,len,4);
specailbsearch(a,len,6,b);
}
-
上一篇:c语言折半查找
-
下一篇:关于折半查找的比较次数。。
精选文章
窃窃私语的的近义成语
阅读74
2024-05-06
写黄昏的作文200字左右
阅读67
2024-05-06
最新2024龙年学校教学方案
阅读61
2024-05-06
2024最新公司活动策划方案
阅读99
2024-05-06
管理人员制度模板
阅读115
2024-05-06
非法狩猎罪定刑标准是什么
阅读180
2024-05-05
相关文章
c语言折半查找
阅读184
2023-06-10
折半查找法要求节点如何存储?
阅读168
2023-06-10
C++折半查找 求源代码
阅读111
2023-06-10
折半插入排序
阅读195
2023-06-10
折半查找为什么必须采用顺序存储结构
阅读114
2023-06-10
坐等解释折半查找法问题
阅读99
2023-06-10
求c++程序,折半查找算法
阅读183
2023-06-10
在顺序表中实现折半查找和简单排序
阅读184
2023-06-10
数据结构怎样折半查找?
阅读159
2023-06-10
C语言折半查找法详细代码(假如有10个已排好序的数)
阅读180
2023-06-10