所有栏目

二分查找法

作者:爱百科

二分查找法,在一个已知有序队列中找出与给定关键字相同的数的具体位置。

二分查找法详细介绍

二分查找法,在一个已知有序队列中找出与给定关键字相同的数的具体位置。

原理是分别定义三个指针low、high、mid分别指向待查元素所在范围的下界和上界以及区间的中间位置,即mid=(low+high)/2,让关键字与mid所指的数比较,若等则查找成功并返回mid,若关键字小于mid所指的数则high=mid-1,否则low=mid+1,然后继续循环直到找出或找不到为止。

源代码:

int SearchBin() //二分查找

{

int low,high,z,mid; //定义下界和上界以及中间位置的指针及关键字z

int a={6,38,52,89,100};

cout<<"请输入一个数:";

cin>>z;

cout<<endl;

low=0;high=4; //下界和上界所指示的初始位置

while(low<=high)

{

mid=(low+high)/2;

if(z==a)

{

return mid; //若关键字等于mid所指的数

}

else if(z<a)

high=mid-1; //若关键字小于mid所指的数

else

low=mid+1; //若关键字大于mid所指的数

}

return 10; //若查找不到,返回一个非a数组下标的数以便处理

}

热点导航
教育资讯 知道问答 公考资讯 司法考试 建筑知识 工作范文 大学排名 报考专业 学习方法 句子美文 秒知回答 作业解答 精选答案 知途问学