跳至內容
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