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;
我正在使用這種排序算法來排序數組。然後,我將內容放在一個RichEdit上,而不是從A..Z去顯示Z..A。這個算法有問題嗎?或者我在向Richedit添加行的方式有問題?謝謝德爾福選擇排序似乎向後排序
啊哈我看到了謝謝 – RT5754
我們需要學習如何使用排序算法學校 – RT5754
@ RT5754如果您正在學習,您還需要學習調試技巧。 1)學習在紙面上逐步完成算法。繪製一個小數組的樣子,並在代碼的每一步跟蹤每個變量。 2)學習使用調試器。當你逐步瀏覽代碼1行時,你會清楚地看到數組是如何改變的,並且會自己弄清楚爲什麼你的代碼按降序排列。 –