0
procedure TfrmSorting.btnSortClick(Sender: TObject);
var
K,L,I,iNumElements : integer;
sKeep : string;
begin
iNumElements := length(arrNames);
for K := 1 to iNumElements - 1 do
begin
for L := K + 1 to iNumElements do
begin
if arrNames[K] < arrNames[L] then
begin
sKeep := arrNames[L];
arrNames[L] := arrNames[K];
arrNames[K] := sKeep;
end;
end;
end;
reditNames.Lines.Clear;
I := 1;
for K := 1 to iNumElements - 1 do
begin
reditNames.Lines.Add(arrNames[I]);
I := I + 1;
end;
end;
私はこのソートアルゴリズムを使って配列をソートしています。私はその後、リッチエディットで内容を表示しますが、A..ZからZの代わりにZ..Aを表示します。アルゴリズムに問題があるのですか、またはリッチェットにラインを追加する方法はありますか?ありがとうデルファイの選択ソートが後方にソートされているようです
Aha私は感謝を見る – RT5754
学校にソートアルゴリズムを使用する方法を学ぶ必要がある – RT5754
@ RT5754学習している場合は、デバッグ技術も学ぶ必要があります。 1)紙の上であなたのアルゴリズムを進めることを学ぶ。小さな配列の外観を描画し、コードの各ステップで各変数を追跡します。 2)デバッガの使い方を学ぶ。一度に1行ずつコードをステップ実行すると、配列がどのように変化しているかが正確にわかり、コードが降順でソートした理由がわかります。 –