Gab es in D3 schon dynamische Arrays?
Delphi-Quellcode:
function GetTopTenByIndex(values: array of integer): TIntegerDynArray;
var
i: integer;
list: TList;
function ListSortCompare(index1, index2: integer): integer;
begin
// die Werte vergleichen, aber die Index-Werte sortieren
if values[index1] < values[index2] then Result := -1
else if values[index1] > values[index2] then Result := 1
else Result := 0;
end;
begin
// weil TList einen QuickSort mit bringt...
list := TList.Create;
// Alle Indexwerte in die Liste
for i := Low(values) to High(values) do
list.Add(Pointer(i));
// Sortieren
list.Sort(@ListSortCompare);
// Platz für Result-Vektor anfordern
SetLength(Result, 10);
// die Index-Werte der top ten übertragen
for i := Low(Result) to High(Result) do
Result[i] := Integer(list[High(values) - High(Result) + i]);
// die Liste hat ihre Schuldigkeit getan - die Liste kann gehen...
list.Free;
end;
Grüße vom marabu