笔记仓库:https://github.com/nnngu/LearningNotes
这一篇要介绍的是算法中的查找算法。查找在我们生活中无处不在,比如查公交,查机票,查酒店等等。
首先看一下查找的分类。如下图:
那么这一篇要总结的是顺序表中的顺序查找。
什么是顺序查找呢?顺序查找就是遍历整个列表,逐个元素与给定值比较,若某个元素和给定值相等,则查找成功。如果直到最后一个元素和给定值比较都不相等,则查找失败。
顺序查找的代码实现
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("********展示结束********"); } }
运行结果: