线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。
    20200308152823870.gif

    因为比较简单,一层for循环足矣,直接上代码:

    1. /**
    2. * 线性查找法
    3. *
    4. * @param arr 需要查询的数组
    5. * @param num 需要查询的数字
    6. * @return 该数字在数组中的索引
    7. */
    8. public static int linear(int[] arr, int num) {
    9. // 顺序查找是根据数组的索引顺序,从0开始到数组的最后一个索引结束
    10. // 这里可以使用for循环进行遍历查找
    11. // i < arr.length 表示当i等于数组最后一个索引值的时候跳出循环,防止数组越界异常
    12. for (int i = 0; i < arr.length; i++) {
    13. // 判断该数组中索引为i的值是否等于num
    14. if (arr[i] == num) {
    15. // 如果相等,则返回i,得到该数字在数组中的索引值
    16. return i;
    17. }
    18. }
    19. // 如果方法到这里还没有结束,说明数组中没有num,可以返回-1表示查询失败
    20. return -1;
    21. }

    使用方法测试:

    1. public static void main(String[] args) {
    2. int[] arr = {3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48};
    3. int num = 15;
    4. int index = linear(arr, num);
    5. if (index != -1) {
    6. System.out.println("数字" + num + "在数组中的索引为:" + index);
    7. } else {
    8. System.out.println("数字" + num + "不在数组中");
    9. }
    10. }

    可以得到结果:
    image.png