1

レコードのファイルをソートする必要がありますが、その方法がよくわかりません。レコードのファイルがあり、単純なバブル ソートを使用してソートしようとしましたが、行き詰まっており、助けが必要です。誰でも私を助けることができますか?以下にコードをリストします。

HighScoreFile = file of HighScoreRecord;


var
frmEnterDetails: TfrmEnterDetails;
HighScoreMasterFile: HighScoreFile;
HighScore:HighScoreRecord;
FileArray:array[1..20] of HighScoreRecord;
i:integer;

Procedure Sort
var
  i,j,temp:integer;

AssignFile(HighScoreMasterFile, 'HighScores.dat');
Reset(HighScoreMasterFile);
while not eof(HighScoreMasterFile) do
begin    
  i:=i+1;
  read(HighScoreMasterFile, HighScore);
  FileArray[i].Name:=HighScore.Name;
  FileArray[i].Date:=HighScore.Date;
  FileArray[i].FinalScore:=HighScore.FinalScore;

  for i:=0 19 do
    for j:=0 to 18 do
      if FileArray[j].Score > FileArray[j+1].Score then
        begin
          FileArray[temp]:=FileArray[j];
          FileArray[j]:=FileArray[j+1];
          FileArray[j+1]:=FileArray[temp];
       end;
end;

どんな助けでも素晴らしいでしょう。

4

1 に答える 1