Hallo,
Ich bräuchte dringend eine kleine Hilfe.
Ich will eine Prozedur schreiben, die die Zahlen eines Array vergleicht, der Größe nach sortiert und dann in die Plätze schreibt. Eigentlich sollte das sehr einfach sein. Schleife, die vergleicht und austauscht.
Könnt ihr mir bitte sagen, wie man das machen könnte?
mfg, Dreamquark
Dreamquark@gmx.de
THX again!!!
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
Mein Pascal is etwas eingerostet aber so ungefähr krig ichs noch hin:
var
a : array of integer;
temp : integer;
begin
for i=1 to length(a) begin
for ii=i+1 to length(a) begin
if (a[i] > a[ii]) then begin
{ wenn mein kleinstes a[i] größer ist als ein anderes vertausch ich die beiden}
temp := a[i];
a[i] := a[ii];
a[ii] := temp;
end;
end;
end;
end;
Hab ich noch ein end; vergessen? egal!
Das sollte es gewesen sein a[1] das kleinste, a[n] das größte.
Achtung:
Dieser Algorithmus (Bubblesort/Minsort) ist, gelinde gesagt schlecht (weil langsam).
Schnellere Algorithmen sind Mergesort oder evtl Quicksort. Quicksort ist in den meisten Sprachbibliotheken vorhanden.
Viel Spass
Dreamforger