Autor Beitrag
McManiaC
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 11.05.04 16:54 
Wie kann ich einen "Array of Double" der größe nach sortieren, also das größte in [1]?

Hab das im Moment mit ner unsichtbaren ListBox gelöst, was aber ganz unschön ist und außerdem sortiert die ListBox nicht von groß nach klein sondern von klein nach groß. Wär zwar auch nich weiter schlimm, wenn das nicht anders geht, aber anders rum wärs besser ;)
neodeus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 51

WinXp
D7 Ent. (Unternehmens Lizenzs von Vaters Comp. )
BeitragVerfasst: Di 11.05.04 18:53 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure sort_shell (var a: array of word);
var bis,i,j,k : longint;
    h         : word;

begin
    bis := high(a);
    k   := bis shr 1;  { div 2 }
    While k > 0 do begin
        For i := 0 To bis - k do begin
            j := i;
            While (j >= 0) And (a[j] > a[j + k]) do begin
                h   := a[j];
                a[j]:= a[j + k];
                a[j + k] := h;
                dec(j,k);
            end;
        end;
        k := k shr 1; { div 2 }
    end;
End;