はじめに
今回紹介する「ソート」というテクニックは、分厚い本が一冊書けてしまうほど
奥が深く、よく使われるものです。ここでは、その中で僕がよく使うものをとりあげます。
ソートって何
ソートとは、サブタイトルにもあるとおりデータの並び替えです。
数値を大きい順、小さい順に並び替えたり、文字列をあいうえお順に並べ替えたりすることです。
それをプログラムにやらせる。それだけです。
並べ替え方(アルゴリズム)
データを並び替えるといっても、その方法はいろいろとあるわけですが、
今回取り上げる方法は「選択ソート」と呼ばれるものです。
どんなアルゴリズムかというと、
「データの中から一番小さいものを選び、配列の先頭に持ってくる」を繰り返して行うというものです。
プログラムのソース
さて、上の図でアルゴリズムはわかってもらったと思いますので、サンプルソースを載せておきます。
Integer型の変数を小さい順に並べ替えます。
var data:array [0..9] of Integer; procedure SelectSort; var i,j,d1,d2,tmp:Integer; begin for i:= 0 to 9 do begin d1:=data[i]; for j:= i+1 to 9 do begin d2:=data[j]; if d1 > d2 then begin tmp:=d1; d1:=d2; d2:=d1; end; end; end; end; |