C++顺序查找法和折半查找法谁能各举一个简单的例子呀!谢啦!

如题所述

顺序
int find(int a[],int n,int x)//a[0]~a[n-1]的数组中,查询元素x,数据类型为int
{
int i;
for(i=0;i<n;i++)
{
if(a[i]==x)
return i;//找到,返回编号
}
return -1;//找不到
}
折半查找
int binaryfind(int a[],int n,int x)//参数同上
{
int low,high,mid;
low=0;high=n-1;
while(low<=high)
{
mid=(low+high)/2;//计算中间位置
if(a[mid]==x) return mid;
if(a[mid]>x) high=mid-1;//假定a为递增数列
else low=mid+1;
}
return -1;//找不到
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答