Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem beim erzeugen von Zufallszahlen 100.000<

  Alt 27. Jun 2005, 07:50
Hai x000x,

Zitat von x000x:
...
Delphi-Quellcode:
...
begin
   randomize;
   for i:=1 to StrToInt64(Edit1.Text) do begin
      SetLength( MyListe, i );
....
....
Es sollte in jedem Fall vermieden werden das Array innerhalb der Schleife zu vergrößern.
Wen ein Dyn-Array vergrößert wird passiert jedes mal folgendes:
1. Es wird neuer Speicher der benötigten größe reserviert
2. Die Daten werden vom alten Speicherbereich in den neuen kopiert
3. Der alte Speicherbereich wird freigegeben

Da ja vor dem durchlaufen der Schleife die notwendige größe des Arrays bekannt ist sollte dieses auch nur einmal gesetzt werden.

Ach ja: Dyn-Arrays beginnen immer beim Index 0. Ein SetLength(MyListe, 10) ist also ein Array [0..9] of MyListe. Das muss bei den zugriffen berücksichtigt werden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat