配列に格納されたデータ 2、3、5、4、1に対して、クイックソートを用いて昇順に並べ替える。2回目の分割が終わった状態はどれか。ここで、分割は基準値より小さい値と大きい値のグループに分けるものとする。また、分割のたびに基準値はグループ内の配列の左端の値とし、グループ内の配列の値の順番は元の配列と同じとする。
ア 1, 2, 3, 5, 4
イ 1, 2, 5, 4, 3
ウ 2, 3, 1, 4, 5
エ 2, 3, 4, 5, 1
ア
クイックソートは、中間的な基準値を決めて、それよりも大きな値を集めた区分と、小さな値を集めた区分に要素を振り分け、次に、それぞれの区分の中で同様な処理を繰り返す。
1回目の分割は 2 を基準として、以下のグループとなる。
(1), (2), (3, 5, 4)
2回目の分割は、事実上 (3, 5, 4) のグループに対してのみ分割が行われ、左端の 3 を基準として、以下のグループとなる。
(1), (2), (3), (5, 4)
よって、 2回目の分割が終わった状態は
1, 2, 3, 5, 4 である。
問6 | 目次 | 問8 |