ich habe in einem grid links
immer die nummer des dazugehörigen datensatzes. wenn ein datensatz gelöscht wird, werden die nummern automatisch auch aktualisiert.
1) ist mein MOD von bubblesort besser oder
standart bubblesort?
normalerweise müsste der folgende code schneller sein, da er nicht unnötig die daten verschiebt.
2) Ist quicki schneller?
Code:
procedure SortIntGrid(var Grid: TStringGrid; ThatCol: Integer);
var i,j,k :Integer;
hilfArray:array of string;
begin
SetLength(hilfArray,Grid.ColCount); // bestimmt die länge des arrays - wieviel
for i := 1 to Grid.RowCount -1 DO // strings zwischenspeichern (für jede spalte 1)
for j := i to Grid.RowCount DO
if Grid.Cells[ThatCol,j] = IntToStr(i) then
begin
for k := Low(hilfArray) to High(hilfArray) DO
begin
hilfArray[k] := Grid.Cells[k,j];
Grid.Cells[k,j] := Grid.Cells[k,i];
Grid.Cells[k,i] := hilfArray[k];
end;
break;
end;
end;
standart blub:
Code:
procedure SortIntGrid(var Grid: TStringGrid; ThatCol: Integer);
var i,j,k :Integer;
hilfArray:array of string;
begin
SetLength(hilfArray,Grid.ColCount);
for i := 1 to Grid.RowCount -1 DO
for j := i + 1 to Grid.RowCount DO
if Grid.Cells[ThatCol,j] < IntToStr(i) then
begin
for k := Low(hilfArray) to High(hilfArray) DO
begin
hilfArray[k] := Grid.Cells[k,j];
Grid.Cells[k,j] := Grid.Cells[k,i];
Grid.Cells[k,i] := hilfArray[k];
end;
break;
end;
end;