1. 设计思路
二分搜索算法每次将数组中间值与目标值相比较,若相同,则该元素就是要寻找的元素,若不相同,二分搜索法通过一定的方法抛弃一半的待搜索区间,在剩余的区间中继续以相同方法搜索目标值.
2.源代码文章来源:https://www.toymoban.com/news/detail-574688.html
#include <stdio.h>
int binarysearch(int a[],int high,int low,int x)
{
int mid;
if (low>high)
return -1; //查找失败
mid=(high+low)/2; //折半
if(x>a[mid]) //中间值小于x说明目标值在右边
binarysearch(a,high,mid+1,x);
else if(x<a[mid]) //中间值大于x说明目标值在左边
binarysearch(a,mid-1,low,x);
else return mid;
}
void main()
{
int a[5]={1,3,5,7,9},low=0,high=sizeof(a)/sizeof(a[0])-1,x,i;
scanf("%d",&x); //输入待查的值
i=binarysearch(a,high,low,x);
if(i==-1)
printf("no");
else
printf("%d",i);
}
3. 运行结果
7
3
(搜索7,由运行结果知7的下标为3。)
文章来源地址https://www.toymoban.com/news/detail-574688.html
到了这里,关于实现二分搜索函数,设计脚手架程序进行自动测试。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!