public class LinearSearch {
private LinearSearch(){}
public static int search(int[] data, int target){for(int i = 0; i < data.length; i++){if(data[i]== target){return i;}}return -1;}
public static void main(String[] args){
int[] data ={24, 18, 12, 9, 16, 66, 32, 4};
int index1 = LinearSearch.search(data, 16);
System.out.println(index1);
int index2 = LinearSearch.search(data, 99);
System.out.println(index2);}}
2、使用泛型
public class LinearSearch {
private LinearSearch(){}
public static <E> int search(E[] data, E 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 ={24, 18, 12, 9, 16, 66, 32, 4};
int index1 = LinearSearch.search(data, 16);
System.out.println(index1);
int index2 = LinearSearch.search(data, 99);
System.out.println(index2);}}
3、使用自定义类测试我们的算法
Student代码
public class Student {
private String name;
public Student(String name){
this.name = name;}
@Override
public boolean equals(Object student){if(this == student){returntrue;}if(student == null){returnfalse;}if(this.getClass()!= student.getClass()){returnfalse;}
Student author =(Student) student;return this.name.toLowerCase().equals(author.name.toLowerCase());}}
LinearSearch
public class LinearSearch {
private LinearSearch(){}
public static <E> int search(E[] data, E 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 ={24, 18, 12, 9, 16, 66, 32, 4};
int index1 = LinearSearch.search(data, 16);
System.out.println(index1);
int index2 = LinearSearch.search(data, 99);
System.out.println(index2);
Student[] students ={
new Student("zhangsan"),
new Student("lisi"),
new Student("wangwu")};
Student student = new Student("Lisi");
int index3 = LinearSearch.search(students, student);
System.out.println(index3);}}