Thema: Delphi Random ohne Dublette

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Random ohne Dublette

  Alt 12. Jan 2007, 22:15
Wenn man schon vom 'Ziehen' spricht, dann könnte man das doch auch genau so implementieren: Ich habe einen Topf mit N Zahlen (1..N) und ziehe jedesmal eine zufällige Zahl heraus. Klar, nach jedem Ziehen enthält der Topf eine Zahl weniger.

Delphi-Quellcode:
Function Zupfeln (Var Zahlen : TCardinalList) : Cardinal;
Var
  i : Cardinal;

Begin
  i := Random (Zahlen.Count);
  Result := Zahlen[i];
  Zahlen.Delete(i);
End;
Also, was das Umsetzen einer Vorgabe anbelangt, würde ich das für optimal und elegant halten. Aber ich will mich -um Gottes willen- nicht mit Euch anlegen, sondern nur eine Portion berliner Senf (a.k.a. Mostrich) dazugeben.

Ach ja, kommt mir nicht im schlechter Performance, bitte.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat