演算法05 五大查詢之:順序查詢
阿新 • • 發佈:2022-05-04
這一篇要介紹的是演算法中的查詢演算法。查詢在我們生活中無處不在,比如查公交,查機票,查酒店等等。
首先看一下查詢的分類。如下圖:
那麼這一篇要總結的是順序表中的順序查詢。
什麼是順序查詢呢?順序查詢就是遍歷整個列表,逐個元素與給定值比較,若某個元素和給定值相等,則查詢成功。如果直到最後一個元素和給定值比較都不相等,則查詢失敗。
順序查詢的程式碼實現
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("********展示結束********"); } }
執行結果: