Olá, A finalidade e ordena uma lista de números embaralhados em uma tsstringrid.
Na verdade e um trabalho universitário da cadeira de estrutura de dados que estou fazendo de Sistemas de Informações.
Mas também já resolvi ele hoje de manha, agora está faltando apenas o Merger e o Quick sort.
A solução que obtive é que faltou a condição if e uma variável boolean e só precisava de apenas dois loopings.
procedure TForm1.btnInsertionClick(Sender: TObject);
var i, j: integer ;
var aux: integer;
var found : boolean;
begin
for i := 1 to 5000 do
gridInsert.cells[1,i] := lista.lines[i-1];
for i := 2 to 5000 do
begin
aux := strtoint(gridInsert.cells[1,i]);
j := i-1;
found := false;
while (j >= 1)
and (not found) do
if (aux < strtoint(gridInsert.cells[1,j])) then
begin
gridInsert.cells[1,j+1] := gridInsert.cells[1,j];
j := j-1;
end
else
found := true;
gridInsert.cells[1,j+1] := inttostr(aux);
end
End;