c++ container: vector, einen vector durchmischen, eure meinung



  • gibt es da eventuell einen algorythmus aus der <algorithm> datei?

    ansonsten hätte ich daran gedacht mithilfe von rand() druchzumischen also
    per zufall 2 werte im vector mit rand() auszusuchen und position tauschen, rand würde per zufall 2 positionen bestimmen die innerhalb des vectors sich vertauschen, weiters würde ich verbieten dass 2 mal dieselben stellen durchgemischt werden und dass niemals der selbe wert öfters als tausch ausgesucht wird sodass sichergestellt werden kann das jeder wert mindestens einmal getauscht wurde.

    vorschläge sind willkomen, bzw was meint ihr ist das geschickt?

    (sorry für die miese grammatik, für manche etwas schwer zu lesen)

    lg
    buntehaare



  • Falsches Forum.

    Es gibt den Algorithmus random_shuffle in <algorithm>



  • buntehaare schrieb:

    ansonsten hätte ich daran gedacht mithilfe von rand() druchzumischen also
    per zufall 2 werte im vector mit rand() auszusuchen und position tauschen, rand würde per zufall 2 positionen bestimmen die innerhalb des vectors sich vertauschen, weiters würde ich verbieten dass 2 mal dieselben stellen durchgemischt werden und dass niemals der selbe wert öfters als tausch ausgesucht wird sodass sichergestellt werden kann das jeder wert mindestens einmal getauscht wurde.

    vorschläge sind willkomen, bzw was meint ihr ist das geschickt?

    Der Plan ist prächtig.
    Hier die ausformulierte und bestätigte Version: http://en.wikipedia.org/wiki/Fisher–Yates_shuffle
    (mal will ja auch wissen, was genau in <algorithm> passiert)



  • Und wiedereinmal ist der Thread im falschen Forum - korrekt wäre C++.



  • @volkart::
    danke!


Anmelden zum Antworten