アルゴリズムで頭の体操 2

プログラムを実行してみよう

プログラムを実行してみよう

 書き方はほかにもあるでしょうが、ひとまずこれを動かしてみましょう。

 この「bubble_sort()」をテストするために、「第1回:アルゴリズムからプログラムを学ぼう!(http://www.thinkit.co.jp/article/62/1/2.html)」の2ページ目で作ったテストプログラムにこの関数を埋め込みます。

 覚えていますか?中身が空っぽだったbubble_sort()を作りましたが、図2のプログラムbubble_sort2.phpのように、その中身を今回作ったもので埋めるわけです(include でファイルを取り込んでも構いませんが、実際のテストの方法は工夫してください)。

 そしてこのプログラムを実行した結果が図2の実行結果になります。

直感的に理解できるか、問い直す

 さてここまではうまくいきました。前回バブルソートの手順を説明しましたが、その通りに作ったという点に注意してください。プログラムははじめに方法を考えて、それを「その通り」に作ることが大切です。

 ところでこの方式はこれで良いのですが、皆さんはこのプログラムを見てどう思いましたか?

 実は、筆者がこのバブルソートを初めて知ったとき、「うまいことやるなぁ」と感心した反面、とても技巧的に思いました。「プログラムとはこういうものか」とあきらめましたが、私にはこの方法が直感的には理解できませんでした。なぜ、この方法でうまくいくのか?

 そもそも、人がものを並び替えるとき、こうはしませんよね?

 そこで、次に別のアプローチを考えてみます。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る