数据结构——折半查找源代码(3)
发布时间:2021-06-08
发布时间:2021-06-08
数据结构——折半查找源代码
for(int i=0;i<len-1;i++)
{
for(int j=0;j<len-i-1;j++)
if(ST[j].key>ST[j+1].key)
{
t=ST[j].key;
ST[j].key=ST[j+1].key;
ST[j+1].key=t;
}
}
}
template <class T>
int SSearch<T>::BiSearch_1(T key)
{ //折半查找非递归算法
if(len==0 && ST==NULL)
{
cout<<"顺序表不存在,请先建立表\n"; return -1;
}
else
{
int low=0,high=len-1;
int mid;
while(low<=high)
{
mid=(high+low)/2;
if(ST[mid].key==key)
{
cout<<"找到!位居"<<mid+1<<endl; return mid;
}
if(ST[mid].key>key)
high=mid-1;
else
low=mid+1;
}
cout<<"末找到!"<<endl;
return -1;
}
}
template <class T>
上一篇:有理谱参数估计ARMA