- 201 名前:デフォルトの名無しさん [2010/06/24(木) 21:08:03 ]
- バブルソートでは, 配列のデータがすでに適正な順序, あるいはそれに近い順序で並んでいても
n-1回の走査をしなければならない. すなわち, n(n-1)/2回の比較が行われなければならない. そこで, 各回の走査の終わりに, 交換が行われたか否かをチェックするようにし, 交換が行われていなければそれ以上走査の必要はないのでソートを完了するようなプログラムを作成しなさい. sizeofは使わない。 ↓のような出力結果になるようにする。 初期状態: 10, 3, 1, 15, 2, 7 [1回目の走査] 1回目の交換: 3, 10, 1, 15, 2, 72回目の交換: 3, 1, 10, 15, 2, 73回目の交換: 3, 1, 10, 2, 15, 74回目の交換: 3, 1, 10, 2, 7, 15 [2回目の走査] 1回目の交換: 1, 3, 10, 2, 7, 15 2回目の交換: 1, 3, 2, 10, 7, 15 3回目の交換: 1, 3, 2, 7, 10, 15 [3回目の走査] 1回目の交換: 1, 2, 3, 7, 10, 15 [4回目の走査] 最終状態: 1, 2, 3, 7, 10, 15
|

|