Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi integer der größe nach in listbox oÄ anzeigen (https://www.delphipraxis.net/93385-integer-der-groesse-nach-listbox-oae-anzeigen.html)

passsy 5. Jun 2007 08:31


integer der größe nach in listbox oÄ anzeigen
 
hallo ich würde gerne ca 100 integer der größe nach sortiert irgendwie anzeigen. hab aber kp von sowas (programmier ja noch nich so lang) am besten mit name der var und dem wert habt ihrn e idee?

SirThornberry 5. Jun 2007 08:33

Re: integer der größe nach in listbox oÄ anzeigen
 
sortieralgorythmen gibt es die verschiedensten. Welchen willst du verwenden?

passsy 5. Jun 2007 08:35

Re: integer der größe nach in listbox oÄ anzeigen
 
naja einfach integer sortieren und irgendwie ausgeben dachte so an ne listbox bin aber auch für andere möglichkeiten offen

SirThornberry 5. Jun 2007 08:40

Re: integer der größe nach in listbox oÄ anzeigen
 
das ist klar. Es gibt aber verschiedenste Art der Sortierung. Zum Beispiel BubbleSort, Quicksort, Selectsort etc.
Die Verfahren unterscheiden sich durch Schnelligkeit, Anwendungsgebiete und Komplexität. Es kommt jetzt also auch darauf an ob du einen sehr einfach zu verstehenden Algorythmus willst oder Hauptsächlich einen schnellen. Bei einer Listbox gibt es aber auch das Property Sorted. Wenn dieses auf True gesetzt wird werden die Einträge sortiert. Allerdings als Strings.

hoika 5. Jun 2007 08:42

Re: integer der größe nach in listbox oÄ anzeigen
 
Hallo,

wie du das anzeigen willst,
musst du doch sleber wissen,
wir kennen dein Programm und deine Wünsche nicht ...

Eine Alternative ist ein ListVieew,
sieht schöner aus ...

Beim Sortieren würde ich BubbleSort nehmen.
ist zwar langsamer als z.B. Qucksort,
aber einfach zu implementieren.

geg: StringList mit den Integer-Zahlen

Delphi-Quellcode:
StrList: TStringList;
i,j Integer;
int_i, int_j: Integer;

for i:= 0 to StrList.Count-1 do
begin
  for j:= i+1 to StrList.Count-1 do
  begin
    int_i:= StrToInt(StrList[i]);
    int_j:= StrToInt(StrList[j]);
    if int_j<int_i then StrList.Exchange(i,j);
  end;
end;
Beim Benutzen einer ListBox muss du nur aufpassen, dass du im Objekt-Inspektor
nicht die Sortierung einschaltest.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz