その1 ソート 〜データの並び替え〜
00/12/14はじめに
今回紹介する「ソート」というテクニックは、分厚い本が一冊書けてしまうほど
奥が深く、よく使われるものです。ここでは、その中で僕がよく使うものをとりあげます。
ソートって何
ソートとは、サブタイトルにもあるとおりデータの並び替えです。
数値を大きい順、小さい順に並び替えたり、文字列をあいうえお順に並べ替えたりすることです。
それをプログラムにやらせる。それだけです。
並べ替え方(アルゴリズム)
データを並び替えるといっても、その方法はいろいろとあるわけですが、
今回取り上げる方法は「選択ソート」と呼ばれるものです。
どんなアルゴリズムかというと、
「データの中から一番小さいものを選び、配列の先頭に持ってくる」を繰り返して行うというものです。
プログラムのソース
さて、上の図でアルゴリズムはわかってもらったと思いますので、サンプルソースを載せておきます。
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;
|
||||||||||||||||||||||||||||