![]() |
Ist x in Array enthalten ?
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
Delphi-Quellcode:
scheint ja nicht zu gehen :(
if 50 in IntegerArray then ...
|
Re: Ist x in Array enthalten ?
Du wirst um eine for-Schleife nicht herumkommen.. es sei denn, du wandelst dein Array in einen String um und suchst in dem String nach deinem Wert, aber das is noch lahmer :mrgreen:
|
Re: Ist x in Array enthalten ?
Bei einem Array geht das nur mit der for-Schleife. Aber vielleicht kannst du was mit einer Menge anfangen (set of).
|
Re: Ist x in Array enthalten ?
Zitat:
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; |
Re: Ist x in Array enthalten ?
Ich verstehe deinen Code leider nicht weil ich Zeiger nicht verstehe :mrgreen:
Deswegen werde ich ihn auch nicht einsetzten :( Naja ich hab die Frage wegen einer Simulation gestellt die ich gerade am programmieren bin und wenn der PC da rumrechnet dann wird das Ergebnis verfälscht und das ist wohl nicht Sinn einer Simulation :mrgreen: |
Re: Ist x in Array enthalten ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz