PC-98のプログラム作成に関するエトセトラ - BASIC+マシン語 瞬間ソートプログラム

BASIC+マシン語 瞬間ソートプログラム


要するにソートルーチンをマシン語で書いてBASICで呼び出そう、みたいな本。
出てくるソートはバブルソート、度数ソート、クイックソートの3種。
バブル、クイックは整数、実数、文字列に対応、度数は整数にのみ対応。
最後の方にデータの配列にポインタ部分を入れてソートの表示を高速化しようという話が載っていたりとか、多少実用的な記事もあったり。

で、この本で特筆すべきところはやっぱり度数ソートでしょう。
アセンブラでのバブルソートやクイックソートは(MASMパワープログラミングとかにも軽く載ってたり)ありがちだと思いますが、度数ソートはかなりレアな気がします。
ゲームや住所録等の単純なデータベースが精いっぱいの98ではデータ数もサイズも限られているため、バケットソート系の度数ソートが結構有用なのでしょう。

というところで終わるときれいなのですが、度数ソートの項にはちょっと恐ろしいことが書いてあります。
要約すると、度数分布を作るときにメモリをたくさん使うのでメモリ容量に注意しましょう、というヒドイ話で。
PC98のメインメモリは高々640KBなので、(多分)拡張メモリの使えないBASIC上からデータベースをいじるとそりゃそうなりますよね、という事なのでした。

情報系でもないとソートアルゴリズムの情報の入りづらかったであろう当時ならともかく、今のご時世なら趣味人以外は特に必要ない本だとおもいます。