跳至內容
D1 陣列

D1 陣列

搜尋數據是否存在於陣列中

要知道目標值是否存在於陣列中,最簡單的方法是從頭開始搜索陣列。即從索引 1 開始,然後是索引 2,然後是索引 3,如此類推,直至到達陣列最後索引或找到目標值。這算法稱為線性檢索

height[] 陣列範例:

索引12345678910
數值172.2152.3165170168.5175188160150155

運用 for 循環進行搜尋:

輸入 target
found ← False
設 i 由 1 至 10
    如果 target = height[i]
        found ← True
輸出 found

運用 while 循環進行搜尋:

輸入 target
found ← False
i ← 1
當 i <= 10
    如果 target = height[i]
        found ← True
    i ← i + 1
輸出 found

點算項目

以下算法點算有多少個同學的身高超過某個數字:

輸入 bound
count ← 0
設 k 由 1 至 10
    如果 height[k] > bound
        count ← count + 1
輸出 count

找出最大或最小的值

以下算法能找出最高的同學身高是多少:

tallest ← height[1]
設 i 由 2 至 10
    如果 height[i] > tallest
        tallest ← height[i]
輸出 tallest

檢查陣列中的值是否按次序排列

以下算法能檢查陣列 height 中的值是否由小至大順序排列:

sorted_list ← True
設 i 由 1 至 9
    如果 height[i] > height[i+1]
        sorted_list ← False
輸出 sorted_list

刪除陣列中的項目

以下的算法把這位同學的身高從陣列索引 P 的位置刪除:

L ← 10
輸入 P
設 i 由 P 至 L-1
    height[i] ← height[i+1]
L ← L - 1

加入項目到陣列中

以下的算法把這位同學的身高加入陣列索引 P 的位置:

L ← 9
輸入 H, P
L ← L + 1
設 i 由 L 下至 P+1
    height[i] ← height[i-1]
height[P] ← H

邏輯錯誤

  • 程式出現邏輯錯誤就可能無法達到目的。因此,編寫算法後需要反覆檢視,除去所有邏輯錯誤。
  • 除錯在必修部分 D 第 6.2 節中討論。
Last updated on