<pre name="code" class="cpp"><pre name="code" class="cpp">//顺序查找
//平均查找长度ASL=(1+n)/2
int Search(int a[],int n,int k)
{
int i;
for(i=1;i<=n;i++)
{
if(a[i]==k)
return i;
}
return 0;
}
//折半查找
//时间复杂度O(log以2为底n的对数)
//平均查找长度log以2为底n+1的对数,再减1
int Bsearch(int R[],int low,int high,int k)
{
int mid;
while(low<=high)
{
mid=(low+high)/2;
if(R[mid]==k)
return mid;
else if(R[mid]>k)
high=mid-1;
else
low=mid+1;
}
return 0;
}
查找:顺序查找,折半查找
最新推荐文章于 2019-07-24 09:02:00 发布