第1種情報処理技術者試験 1997年度 = 平成9年度 午前 問6

 次の流れ図で示されるアルゴリズムで配列Tを整列する。i=1でループBが終わったときの配列Tの内容として、正しいものはどれか。

配列Tの初期値
 T(1)    31  
T(2)2  
T(3)24  
T(4)15  
T(5)40  

2
 24  
15
31
40
2
  31  
15
24
40
  31  
24
15
40
2
  40  
31
2
24
15

解答

 イ

解説

 本問で示されているのは、バブルソート(単純選ソート)アルゴリズムです。隣り合うデータを比較し、必要であれば交換を行うという一連の操作(パス)をn - 1回行います。
 この問題では、整列の作業を最後まで行わずに、1パスだけ行った時点でのデータの並びがどうなるかを問う問題です。

1パス目 j=5 ┌─┬─┬─┬─┬─┐ │31│ 2│24│15│40│ 最初の状態 └─┴─┴─┴─┴─┘ └─┘ ↓ 比較(交換の必要なし) j=4 ┌─┬─┬─┬─┬─┐ │31│ 2│24│15│40│ └─┴─┴─┴─┴─┘ └─┘ ↓ 比較・交換 j=3 ┌─┬─┬─┬─┬─┐ │31│ 2│15│24│40│ └─┴─┴─┴─┴─┘ └─┘ ↓ 比較(交換の必要なし) j=2 ┌─┬─┬─┬─┬─┐ │31│ 2│15│24│40│ └─┴─┴─┴─┴─┘ └─┘ ↓ 比較・交換 パス終了 ┌─┬─┬─┬─┬─┐ │ 2│31│15│24│40│ └─┴─┴─┴─┴─┘



BohYoh.comトップページへ