基本情報技術者試験 | 2007年度 = 平成19年度・春期 | 午前 | 問14 |
i を1からn -1まで1ずつ増やしながら行2~3を繰り返す | |
j をn からi +1まで1ずつ減らしながら行3を繰り返す | |
もしA[j ]<A[j -1]ならば、A[j ]とA[j -1]を交換する |
解答 |
解説 |
※1パスが終了した時点で、最小値が配列の先頭A[1]に位置します。1パス目 ┌─┬─┬─┬─┬─┬─┐ │5│4│1│3│6│2│ 最初の状態 └─┴─┴─┴─┴─┴─┘ └─┘ ↓ 比較して交換。 ┌─┬─┬─┬─┬─┬─┐ │4│5│1│3│2│6│ └─┴─┴─┴─┴─┴─┘ └─┘ ↓ 比較して交換。 ┌─┬─┬─┬─┬─┬─┐ │4│1│5│3│2│6│ └─┴─┴─┴─┴─┴─┘ └─┘ ↓ 比較して交換。 ┌─┬─┬─┬─┬─┬─┐ │4│1│3│5│2│6│ └─┴─┴─┴─┴─┴─┘ └─┘ ↓ 比較するが交換はしない。 ┌─┬─┬─┬─┬─┬─┐ │4│1│3│5│2│6│ └─┴─┴─┴─┴─┴─┘ └─┘ ↓ 比較して交換。 ┌─┬─┬─┬─┬─┬─┐ │1│4│3│5│2│6│ └─┴─┴─┴─┴─┴─┘