這一篇要介紹的是算法中的查找算法。查找在我們生活中無處不在,比如查公交,查機票,查酒店等等。
首先看一下查找的分類。如下圖:
那么這一篇要總結的是順序表中的順序查找。
什么是順序查找呢?順序查找就是遍歷整個列表,逐個元素與給定值比較,若某個元素和給定值相等,則查找成功。如果直到最后一個元素和給定值比較都不相等,則查找失敗。
順序查找的代碼實現
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("********展示結束********"); } }
運行結果:
歡迎轉載,但請保留文章原始出處