1. 程式人生 > 其它 >演算法05 五大查詢之:順序查詢

演算法05 五大查詢之:順序查詢

這一篇要介紹的是演算法中的查詢演算法。查詢在我們生活中無處不在,比如查公交,查機票,查酒店等等。

首先看一下查詢的分類。如下圖:

那麼這一篇要總結的是順序表中的順序查詢。

什麼是順序查詢呢?順序查詢就是遍歷整個列表,逐個元素與給定值比較,若某個元素和給定值相等,則查詢成功。如果直到最後一個元素和給定值比較都不相等,則查詢失敗。

順序查詢的程式碼實現

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("********展示結束********");
    }
}

執行結果: