这一篇要介绍的是算法中的查找算法。查找在我们生活中无处不在,比如查公交,查机票,查酒店等等。
首先看一下查找的分类。如下图:
那么这一篇要总结的是顺序表中的顺序查找。
什么是顺序查找呢?顺序查找就是遍历整个列表,逐个元素与给定值比较,若某个元素和给定值相等,则查找成功。如果直到最后一个元素和给定值比较都不相等,则查找失败。
SequenceSearch.java
public class SequenceSearch {
public static void main(String[] args) {
int[] list = {90, 10, 20, 50, 70, 40, 80, 60, 30, 52};
System.out.println("************顺序查找************");
display(list);
System.out.println("");
int result = sequenceSearch(list, 50);
if (result != -1) {
System.out.println("50在列表中的位置是:" + result);
} else {
System.out.println("对不起,列表中不存在该元素!");
}
}
/**
* 顺序查找
*/
public static int sequenceSearch(int[] list, int key) {
for (int i = 0; i < list.length; i++) {
// 找到该元素,返回位置序号
if (list[i] == key) {
return i;
}
}
// 没有找到
return -1;
}
/**
* 遍历打印
*/
public static void display(int[] list) {
System.out.println("********展示开始********");
if (list != null && list.length > 0) {
for (int num :
list) {
System.out.print(num + " ");
}
System.out.println("");
}
System.out.println("********展示结束********");
}
}
运行结果: