Hi,
wenn das Array immer sortiert ist, könntest du die Anzahl der Vergleichsoperationen durch die Verwendung einer binären Suche reduzieren. Benötigst du die doppelten Einträge? Falls nicht, könntest du über den Einsatz von Mengen (Sets) nachdenken:
Delphi-Quellcode:
var
Menge : set of 0..36;
begin
Menge := []; // Menge löschen
Include (Menge, 17); // Zahl 17 hinzufügen
Exclude (Menge, 17); // Zahl 17 entfernen
if (17 in Menge) then ... // Abfrage
end;
Wenn dich nur die Häufigkeit der Zahlen interessiert, wäre vielleicht folgende Deklaration besser:
Delphi-Quellcode:
var
Anzahl : array [0..36] of Integer;
Anstatt die Zahlen in das Array einzutragen inkrementierst du nur den zugehörigen Zähler. Ob eine Zahl überhaupt vorgekommen ist, kannst du so direkt ablesen.
Gruß Hawkeye