Autor Beitrag
EvA
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 01.02.05 12:06 
Moin,

ich habe in meinem Delphiprogramm sechs Edits und einen Button. Der Benutzer soll in jedes Edit eine Zahl eingeben und danach auf den Button klicken. Das Programm soll dann die Zahlen der Größe nach sortieren und sie dann in den Edits erscheinen lassen. Ich habe sechs Variablen angelegt, doch wie komme ich weiter. Ich habe es schon mit IF THEN ELSE versucht, was mir aber zu kompliziert/sinnlos erschien, da es ewig gedauert hätte bis ich alle Bedingungen eingegeben hätte. Leider bin ich noch ein Anfänger!!! Wäre nett, wenn mir da jemand einen Tipp geben könnte. Danke.

EvA


Moderiert von user profile iconGausi: Topic aus VCL (Visual Component Library) verschoben am Di 01.02.2005 um 11:12
st-matze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 138

Win 3.11, Win 95, Win 98, Win XP
D7 Ent, D6 Pers, (D5 Pers)
BeitragVerfasst: Di 01.02.05 12:13 
Anstatt die Zahlen in extra Variablen zu speichern, speichere Sie in einem array ab. Dann sortierst du sie in diesem array mittels eines Sortieralgorithmus. Such hier im forum mal nach QuickSort(effektifstes sortierverfahren oder nach bubblesort (das ist das am einfachsten verständliche)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 01.02.05 12:15 
Hallo und :welcome:

Fürs sortieren von Zahlen gibts ne Reihe Möglichkeiten. Da wären z.B. Bubblesort (einfach zu programmieren, aber langsam), und dann kompliziertere Sachen wie Quicksort, Mergesort und Heapsort. Ich glaube, dass Sveno in diesem Unterforen zu den letzten dreien ein paar Fragen hatte, die auch schon gelöst wurden. Und in einem hat er glaube ich auch den Quellcode von seinem Programm verlinkt, in dem so ziemlich alle Sortierverfahren implementiert sind.

_________________
We are, we were and will not be.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Di 01.02.05 12:16 
noch einfacher zu verstehen ist das Austauschverfahren (ist das langsamste).
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Di 01.02.05 12:37 
wenn ich mich nicht irre ist bubblesort langsamer als selection- oder insertionsort
sveno
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Di 01.02.05 12:45 
www.beepworld.de/mem...19/sveno2/bubble.rar

Da findet6s du nochmal mein Programm. Dort fu7nktionieren alle sortierverfahren ausser mergesort. Du must aber nur das lokal deklarierte hilfsfeld global deklarieren und der mergesort funktioniert auch.

Hoffe es hilft dir weiter.

Gruss Sven
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 01.02.05 12:49 
Laufzeiten:
N: Anzahl der Zahlen,
M: Anzahl der Ziffern der Zahlen
Angaben im O-Kalkül, d.h. konstante Faktoren spielen keine Rolle
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Sortierverfahren | Best-Case | Med-Case | Worst-Case
----------------------------------------------------
Bubblesort            N           N^2       N^2
InsertSort            N           N^2       N^2
Selectionsort        N^2          N^2       N^2
Quicksort          N*log(N)    N*log(N)     N^2
Heapsort           N*log(N)    N*log(N)   N*log(N)
MergeSort      N bzw N*log(N)  N*log(N)   N*log(N)
Fachverteilung       N*M         N*M        N*M


Bei 6 Zahlen ist das aber sowieso alles ganz egal. :lol:

_________________
We are, we were and will not be.
EvA Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 02.02.05 19:51 
Dankeschön für die schnellen und auch hilfreichen Antworten :)

EvA