詳細解説
正解は(3)です。
交換回数のトレース
初期データ: [3, 1, 2, 5, 4]
目的: 降順 [5, 4, 3, 2, 1]
・i=1 (値3):
・j=2(1): 3<1 False
・j=3(2): 3<2 False
・j=4(5): 3<5 True → 交換 [5, 1, 2, 3, 4] (回数1)
・j=5(4): 5<4 False
・確定: 5
・i=2 (値1):
・j=3(2): 1<2 True → 交換 [5, 2, 1, 3, 4] (回数2)
・j=4(3): 2<3 True → 交換 [5, 3, 1, 2, 4] (回数3)
・j=5(4): 3<4 True → 交換 [5, 4, 1, 2, 3] (回数4)
・確定: 5, 4
・i=3 (値1):
・j=4(2): 1<2 True → 交換 [5, 4, 2, 1, 3] (回数5)
・j=5(3): 2<3 True → 交換 [5, 4, 3, 1, 2] (回数6)
・確定: 5, 4, 3
・i=4 (値1):
・j=5(2): 1<2 True → 交換 [5, 4, 3, 2, 1] (回数7)
・確定: 5, 4, 3, 2, 1
合計交換回数は 7回 です。
以上より、選択肢(3)が正解です。