@Haentschman: Also ich glaube nicht, dass das die Lösung ist, an die der Informatik-Lehrer gedacht hat
Delphi-Quellcode:
procedure QuickSort_author(
var alist: tUserlevels; L, R: Integer);
var
I, J, P: Integer;
begin
repeat
I := L;
J := R;
P := (L + R)
shr 1;
repeat
while ansicomparetext(alist[I].author, alist[P].author) < 0
do Inc(I);
while ansicomparetext(alist[J].author, alist[P].author) > 0
do Dec(J);
if I <= J
then
begin
alist.Exchange(I, J);
if P = I
then
P := J
else if P = J
then
P := I;
Inc(I);
Dec(J);
end;
until I > J;
if L < J
then QuickSort_author(alist, L, J);
L := I;
until I >= R;
end;
Diesen Code habe ich neulich geschrieben um eine Liste von Levels nach dem Autor zu sortieren. Lässt sich, denk ich, recht einfach anpassen.
(Das ist der Code von Tstringlist, den ich etwas angepasst habe^^)
edit: fehlendes wort eingesetzt