第2種情報処理技術者試験 | 2000年度 = 平成12年度・秋期 | 午前 | 問13 |
[データ数÷3]→H とする。 | |
データ列を互いにH 要素分だけ離れた要素の集まりからなる部分列とし、それぞれの部分列を挿入法を用いて整列する。 | |
[H ÷ 3]→H とする。 | |
H が0であればデータ列の整列は完了し、0でなければ(2)に戻る。 |
解答 |
解説 |
■1回目■ H = [9÷3] = 3 → 3ソートを実行
┌─────┬─────┐ ┌─────┬─────┐ ┌─────┬─────┐ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┐ │7│2│8│3│1│9│4│5│6│ └─┴─┴─┴─┴─┴─┴─┴─┴─┘ ↓ 赤・青・緑をそれぞれソート ┌─┬─┬─┬─┬─┬─┬─┬─┬─┐ │3│1│6│4│2│8│7│5│9│ └─┴─┴─┴─┴─┴─┴─┴─┴─┘ ■2回目■ H = [3÷3] = 3 → 1ソートを実行
┌─┬─┬─┬─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┐ │3│1│6│4│2│8│7│5│9│ └─┴─┴─┴─┴─┴─┴─┴─┴─┘ ↓ 赤をソート ┌─┬─┬─┬─┬─┬─┬─┬─┬─┐ │1│2│3│4│5│6│7│8│9│ └─┴─┴─┴─┴─┴─┴─┴─┴─┘