Trier une liste de nombres étendus, du plus petit au plus grand

Contenu du snippet

C'est un petit code qui permet de trier une liste de nombre du plus petit au plus grand. Les nombres supportés sont en type EXTENDED, INTEGER étant inclu dans cet ensemble.

La fonction SORT de la classe TStrings est inadaptée, car le tri des nombres ne se fait pas par comparaison ASCII des caractères. Une liste {1,4,10} sera classée {1,10,4} avec Sort et {1,4,10} par ma fonction, présentée ci-dessous.

Pour trier un TListBox par exemple, il faudra taper:
SortNumberedList(MaListeBox.Items);

Source / Exemple :


procedure SortNumberedList(Lst:TStrings);
var i, n : integer;
begin
  if Lst.Count<2 then Exit;
  for i:=1 to Lst.Count-1 do
    for n:=0 to i-1 do
      if StrToFloat(Lst[i])<StrToFloat(Lst[n]) then
        begin
          Lst.Move(i,n);
          Break;
        end;
end;

Conclusion :


Vous pouvez toujours aller voir http://altert.family.free.fr/

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.