Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#18

AW: Effiziente Erzeugung, nicht gleicher Zufallszahlen

  Alt 11. Mai 2011, 10:44
Man setze den Zeiger auf das hinterste Element und wähle ein zufälliges Element aus dem gesamten Array. Dann tausche man das ausgewählte Element mit dem hintersten. Anschließend setze man den Zeiger eines nach links und wähle ein Element aus dem Array minus das letzte Element. So verringert sich pro Schritt die Anzahl der Elemente, die der Algorithmus betrachtet jeweils um eines. Sind nur noch zwei Elemente übrig, dann brauch der Algortihmus nur noch einmal ausgeführt zu werden, da man ja nur noch einmal zufällig auswählen kann.
Jupp, das ist die korrekte Beschreibung.
Und ja, mein Code war nur so aus dem Stegreif hingeschrieben und enthält wohl Fehler.
Andreas
  Mit Zitat antworten Zitat