简介:
顺序查找法又称线性查找法,是一种最简单的查找法。该算法的原理是将数据一个一 个地按顺序逐次查找。所以不管数据的顺序是什么样的,都得从头到尾遍历一次。
优点: 文件在查找前不需要作任何的处理与排序
缺点: 是查找速度较慢
算法实现:
public static int linear_search(int arr[], int len, int key)
{
int pos=-1; //设置pos=-1是为了防止数组中没有目标值时返回一个随机值
for(int i=0;i<len;i++)
if(arr[i]==key)
pos= i;
return pos;
}
注:该算法效果是若查找的数组中有重复元素,则返回最后一个目标值的下标
算法另一种实现:
public static int better_linear_search(int arr[],int len,int key)
{
for(int i=0;i<len;i++)
if(arr[i]==key)
return i; //发现key值就返回下标
return -1;
}
注:这个算法的效果是发现目标值就返回下标,当数组中有重复元素时,返回第一个元素的下标
算法进一步优化:
public static int sentinel_linear_search