顺序查找(线性查找)
依次进行比较,相等即查找成功
int LinSearch(long num[],long x,int n)
{
int i;
for(i=0;i<n;i++)
{
if(num[i]==x) return i;//找到时返回下标位置
}
return -1;//找不到时返回-1
}
折半查找(二分查找)
一直选择居中间位置的数与所要查找的数进行比较
只能在有序的数据中进行查找
int BinSearch(long num[],long x,int n)
{
int low,high,mid;
low=0; high=n-1;
while(low<high)
{
mid=(high+low)/2;
if(x>num[mid])//两个数作比较
low=mid+1;
else if(x<num[mid])//两个数作比较
high=mid-1;
else return mid;//直接找到所要查找的数
}
return -1;//找不到则返回-1
}
来源:CSDN
作者:Mr.毛~
链接:https://blog.csdn.net/qq_45727728/article/details/103570847