Zitat von
shmia:
Zitat von
Neutral General:
Ich muss schnell (!) herausfinden ob ein Array einen bestimmten Wert beinhaltet.
normalerweise geht das ja mit for-schleifen aber das ist zuuu langsam ...
Und sowas wie
if 50 in IntegerArray then ...
scheint ja nicht zu gehen
Mengenoperation sind auf Mengen mit max 256 Elementen beschränkt. (Also Mengen kannst du vergessen)
Das Suchen in einem Array lässt sich massiv Beschleunigen, wenn man mit
Zeigern arbeitet.
Delphi-Quellcode:
// ungetestet, da direkt hingeschrieben
function SearchArray(const a:array of Integer; sv:integer):Integer;
var
p : ^integer;
begin
p := @a[Low(a)];
for i := Low(a) to High(a) do
begin
if p^ = sv then
begin
Result := i;
Exit;
end;
Inc(p);
end;
Result := -1; // nix gfunden
end;
Brauchst du gar nicht machen, das macht der Delphi-Compiler in schnellen Schleifen automatisch.