线性查找
个人理解
线性查找算法,就是依次遍历,找到对应的值即返回
小技巧
可以通过在查询的尽头设置哨兵的方法来避免越界判断
实现之
package search;
public class LinerSearch
{
public static void main(String[] args)
{
int arr[]= {0,1,2,3,4,5,6,7,8,9};
System.out.printf("查找结果是%d",linerSearch(arr, 7));
System.out.println();
System.out.println("----------------------------------");
System.out.printf("查找结果是%d",linerSearch(arr, 10));
}
/**
* 线性查找,arr[0]作为哨兵,查找失败返回0
* @param arr 数组
* @param findVal 查找值
* @return
*/
public static int linerSearch(int[] arr,int findVal)
{
arr[0]=findVal;
int i=arr.length-1;
while (arr[i]!=findVal)
{
i--;
}
return i;
}
}