Willi Breuckmann: Array-Einträge mischen

Hallo Java-Spezies,

Hier direkt eine Frage:

Wie kann ich ein Array aus 24 Elementen per zufall neu Mischen ??
Beispiel:

vorher:  test1 = new Array('a','b','c','d');

nachher: test2 = new Array('c','a','b','d');

  1. Wie kann ich ein Array aus 24 Elementen per zufall neu Mischen ??

    hi,

    ich hab von java zwar keine ahnung...

    aber eigentlich sollte es so ziemlich in jeder programmiersprache funzen:

    1. per zufallsgenerator zwei elemente aussuchen
    2. die beiden vertauschen
    3. bieliebig oft bei 1) fortfahren

    oder hab ich was fallsch verstanden....?

    cua

    n.d.p.

    1. Wie kann ich ein Array aus 24 Elementen per zufall neu Mischen ??

      hi,

      ich hab von java zwar keine ahnung...

      aber eigentlich sollte es so ziemlich in jeder programmiersprache funzen:

      1. per zufallsgenerator zwei elemente aussuchen
      2. die beiden vertauschen
      3. bieliebig oft bei 1) fortfahren

      Das habe ich ja versucht und nun endlich geschafft. Trotzdem Danke
      fuer die Muehe.

  2. Hi!

    Hallo Java-Spezies,

    Du meinst wahrscheinlich JavaScript, oder?
    Ich hab zwar keine Ahnung vom Mischen von Arrays, aber ich hab mal ein bißchen rumprobiert, und siehe da: es funktioniert.

    <script language="JavaScript"><!--
    var arr = new Array();
    var feld = new Array('a','b','c','d','e');
    var i, hilfe;

    for(i=0; i<=feld.length-1; i++)
    arr[i] = Math.random();
    for(i=0; i<=feld.length-2; i++)
    {
    if(arr[i] > arr[i+1])
    {
      hilfe = feld[i];
      feld[i] = feld[i+1];
      feld[i+1] = hilfe;
    }
    }
    alert(feld);
    //--></script>

    Sicherlich gibt es da noch schlauere Methoden, zumal bei meinem Verfahren das erste Element nur geringe Chancen hat, ans Ende zu rutschen. Aber das lässt sich ja noch beliebig erweitern (mit reverse() umdrehen oder den Vorgang mehrmals wiederholen).

    MfG Simon

    1. Hi!

      Hallo Java-Spezies,

      Du meinst wahrscheinlich JavaScript, oder?
      Ich hab zwar keine Ahnung vom Mischen von Arrays, aber ich hab mal ein bißchen rumprobiert, und siehe da: es funktioniert.

      <script language="JavaScript"><!--
      var arr = new Array();
      var feld = new Array('a','b','c','d','e');
      var i, hilfe; .....

      Das hat mir sehr geholfen. Ich habe die Methode weiterentwickelt und nun mischt es munter vor sich hin. THANKX.