Zitat von
_frank_:
Zitat von
calculon:
Alternativ zu Marc.'s Vorschlag kannst du auch 'ne StringList nehmen. Diese auffüllen -> Zufällige Indizes generieren -> Den "gezogenen" Eintrag entfernen
wenn man es langsam möchte...
bitte zahlen nicht in stringlisten verwalten. das ist performancemäßig das ungünstigste, was man machen kann...
das sinnvollste der bisherigen Vorschläge ist
imho das vermischte array, da es ohne löschen auskommt. da dürfte noch nichtmal eine TList (mit auf TObject gecasteten Integern) rankommen, da es egal ist, ob die Integer-Daten selbst oder Pointer darauf (beides 32-bit-Werte) vertauscht werden. Bei anderen Datentypen dürfte TList schneller sein.
Gruß Frank
Tja, manche passen den Lösungsweg elegant der Aufgabenstellung an, die da lautet 15 Zufallszahlen aus 40 Einträgen jeweils genau einmal, zu ziehen ("Ergebnisorientiert"). Und andere wiederum ("Experten"
) machen sich halt einfach gerne das Leben schwer. Wenn du tatsächlich in der Praxis einen Unterschied in der Geschwindigkeit merkst (für diese Aufgabenstellung wohlgemerkt), dann und nur dann geb' ich dir Recht. Aber ich weiß' schon, könnte ja mal erweitert werden müssen auf 10.000.000 einzigartigen Ziehungen aus 50.000.000.000 Einträgen...
Same old story, same old song! Don't go right, don't go wrong