线性查找算法
2021/6/5 14:50:55
本文主要是介绍线性查找算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
线性查找又称顺序查找,是一种最简单的查找方法,其基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的值相等,则查找成功;若比较结果与文件中的记录都不等,则查找失败。
具体实现
- 实现类
public class LinearSearch { /** * 私有构造函数,该类不被别人创建,直接使用该类的search函数 */ private LinearSearch(){} /** * 泛型线性查找 * 于自定义的类,要重写equals方法 * @param data * @param target * @param <T> * @return */ public static <T> int search(T[] data, T target) { for (int i = 0; i < data.length; i++) { if (data[i].equals(target)) { return i; } } return -1; } public static void main(String[] args) { /** * 测试一 */ Integer[] data = {11, 12, 66, 34, 65, 36, 60}; int result = LinearSearch.search(data, 34); System.out.println(result); /** * 测试二 自定义类 */ Student[] students = { new Student("1", "张三"), new Student("2", "李四"), new Student("3", "王二") }; System.out.println(LinearSearch.search(students, new Student("3", "王二"))); } }
- 自定义类
public class Student { private String id; private String name; public Student(String id, String name) { this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } /** * 重新equals方法 * @param obj * @return */ @Override public boolean equals(Object obj) { if (this == obj) { //地址相等 return true; } if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } /** * 需要比较的字段相等,则这两个对象相等 */ Student other = (Student) obj; return this.name.equals(other.name) && this.id.equals(other.id); } }
.end
这篇关于线性查找算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南