テクノロジ系
春期
応用情報技術者 2019年 春期 問6
6 / 80
次の手順はシェルソートによる整列を示している。データ列 7, 2, 8, 3, 1, 9, 4, 5, 6 を手順(1)~(4)に従って整列するとき,手順(3)を何回繰り返して完了するか。ここで,[ ]は小数点以下を切り捨てた結果を表す。〔手順〕(1)“H←[データ数÷3]”とする。(2)データ列を,互いにH要素分だけ離れた要素の集まりから成る部分列とし,それぞれの部分列を,挿入法を用いて整列する。(3)“H←[H÷3]”とする。(4)Hが0であればデータ列の整列は完了し,0でなければ(2)に戻る。
正解と解説
表示する
正解 ア
2
データ数9でH=[9/3]=3から始め,部分列を整列(手順2)した後,手順3でH←[3/3]=1(1回目),再整列後,手順3でH←[1/3]=0(2回目)となり,Hが0になって完了します。よって手順(3)の繰返しは2回でアが正解です。