作者前言
大家好,我是阿濠,今篇内容跟大家分享的是查找算法之顺序(线性)查找,很高兴分享到segmentfault与大家一起学习交流,初次见面请大家多多关照,一起学习进步.
一、线性查找算法的介绍
从线性数列中
的起始位置依次比较
判断数列中是否包含需要查找的数
,若找到
了直接返回下标
二、通过应用示例认识线性查找算法
有一个数列: {1 ,8 ,10 ,89 ,1000 ,1234}
,判断数列中是否包含5
要求: 如果找到了,就提示找到,并给出下标值。
/*
* 这里我们实现的线性查找是找到一个满足条件的值,就返回
*
* @param arr
* @param value
* @return 找到下标
*/
public static int seqSearch(int[] arr, int value) {
//线性查找是逐一比对,发现有相同值,就返回下标
for (int i = 0; i < arr.length; i++) {
if (arr[i] == value) {
return i;
}
}
return -1;
}
int arr[] = {1, 8, 10, 89, 1000, 1234};//没有顺序的数组.
int index = seqSearch(arr, 5);
if(index == -1) {
System. out. println("没有找到");
} else {
System .out. println("找到,下标为=" + index);
}
运行结果如下:
没有找到