D1 陣列
搜尋數據是否存在於陣列中
要知道目標值是否存在於陣列中,最簡單的方法是從頭開始搜索陣列。即從索引 1 開始,然後是索引 2,然後是索引 3,如此類推,直至到達陣列最後索引或找到目標值。這算法稱為線性檢索。
height[] 陣列範例:
| 索引 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 數值 | 172.2 | 152.3 | 165 | 170 | 168.5 | 175 | 188 | 160 | 150 | 155 |
運用 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