作者前言

大家好,我是阿濠,今篇内容跟大家分享的是查找算法之顺序(线性)查找,很高兴分享到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);
}

运行结果如下:
没有找到

28640
116 声望25 粉丝

心有多大,舞台就有多大