Jede Reihenfolge einer zufällig langen Liste ausprobieren

S

Spellsleeper

Gast
Hallo,
dies dürfte eher eine Frage an Algo-Experten sein. Ich habe eine Liste(Bei mir eine ArrayList),
wie kann ich jede mögliche Reihenfolge der Elemente erzeugen. PS. Die Länge der Liste ist zufällig.

Vermutlich habe ich schon zu lange keinen Kaffee mehr gehabt aber ich zermater mir darüber heute schon
längere Zeit das Hirn.

Vielen Dank:)
 
H

hüteüberhüte

Gast
Evtl. kannst du damit etwas anfangen:
Java:
    public static void perm(char[] chars) {
        Set<Integer> set = new HashSet<Integer>();
        int[] ary = new int[chars.length];
        int i = 0;
        while (i >= 0) {
            if (i == ary.length) {
                for (int j = 0; j < ary.length; j++) {
                    System.out.print(chars[ary[j]]);
                }
                System.out.println();

                set.remove(ary[--i]);
                ary[i]++;
                continue;
            }

            while (set.contains(ary[i])) {
                ary[i]++;
            }
            if (ary[i] == ary.length) {
                ary[i--] = 0;
                set.remove(ary[i]);
                ary[i]++;
                continue;
            }
            set.add(ary[i++]);
        }
    }

    public static void main(String[] args) {
        perm(new char[]{'a', 'b', 'c'});
    }
Code:
abc
acb
bac
bca
cab
cba
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
Dazu aber 2 Anmerkungen:
1. Schöner wäre es natürlich,kein Set zu verwenden, sondern ein boolean[]
2. Wie schon angedeutet, wird am Ende eine AIOOBE geworfen

PS. Durch -- u. ++ habe ich nichts an Platz verschwendet, was allerdings alles nicht so einfach zu verstehen macht ;) Ansonsten, zur Begriffsendwirrung (Algorithmen werden genannt): Permutation - Wikipedia, the free encyclopedia
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
A Jede x-te Zeile, lösche 10 Zeilen Java Basics - Anfänger-Themen 9
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
M Primzahlen, nur jede 2te ausgeben Java Basics - Anfänger-Themen 11
V Ein Wort einlesen und dann jede Buchstabe ausgeben Java Basics - Anfänger-Themen 10
M Threads Jede Klasse einem Thread zuweisen Java Basics - Anfänger-Themen 7
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
U Farbe meines Würfels jede sekunde ändern! Java Basics - Anfänger-Themen 5
W Erste Schritte Timer soll jede Sekunde Label aktualisieren Java Basics - Anfänger-Themen 5
R JLabel imageicon jede Sekunde wechseln Java Basics - Anfänger-Themen 3
J Eine int Variable jede Sekunde um 1 hocnzählen Java Basics - Anfänger-Themen 3
T Zufalls jedoch jede nur einmal Java Basics - Anfänger-Themen 10
K Swing Fenster jede sec.neuzeichnen Java Basics - Anfänger-Themen 14
A InputStream gibt nur jede 2te Zeile aus Java Basics - Anfänger-Themen 7
J Ein Wort einlesen und dann jede Buchstabe ausgeben Java Basics - Anfänger-Themen 25
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
N jede Zwanzigste... ? Java Basics - Anfänger-Themen 12
E Jede Objektart in Mutterelement erlauben? Java Basics - Anfänger-Themen 3
E Klassendesign: Array für jede Objektart?! Java Basics - Anfänger-Themen 6
Developer_X jede Zeile einer Datei mit einem String verketten Java Basics - Anfänger-Themen 16
S PrepareStatement, jede neue Zeile INT-Wert Java Basics - Anfänger-Themen 5
W Die Methode print() wird 2 mal für jede Seite aufgerufen Java Basics - Anfänger-Themen 9
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
N Aus Textdatei jede Zeile in einen String lesen Java Basics - Anfänger-Themen 22
F 2DArray jede Spalte Addieren Java Basics - Anfänger-Themen 8
G Datum und Text in jede beliebige Anwendung einfügen Java Basics - Anfänger-Themen 3
U Jede Sekunde Java Basics - Anfänger-Themen 6
M Braucht jede Klasse eine Schnittstelle ? Java Basics - Anfänger-Themen 4
M Jede Variable als private, protected etc. deklarieren? Java Basics - Anfänger-Themen 7
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
J Methoden Die Reihenfolge der Iterator-Elemente umkehren Java Basics - Anfänger-Themen 3
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
I Array in umgekehrter Reihenfolge - Erklärung - Java Basics - Anfänger-Themen 3
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
M Feste Reihenfolge von dem Ablauf von Methoden Java Basics - Anfänger-Themen 7
H Knoten-Reihenfolge einer LinkedList invertieren Java Basics - Anfänger-Themen 11
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
A String in umgekehrter Reihenfolge ausgeben Java Basics - Anfänger-Themen 7
L Reihenfolge Ausgabe Java Basics - Anfänger-Themen 5
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
D TAB Reihenfolge im JSinner Java Basics - Anfänger-Themen 1
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
B Arrays in Reihenfolge vertauschen Java Basics - Anfänger-Themen 6
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Array Reihenfolge umdrehen Java Basics - Anfänger-Themen 9
J Klassen Reihenfolge beim Aufruf von Klassen Java Basics - Anfänger-Themen 1
L zweidimensionales char array reihenfolge ändern ? Java Basics - Anfänger-Themen 2
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
M Reihenfolge von Testmethoden in JUnit beeinflussen Java Basics - Anfänger-Themen 2
M Ausgabe in falscher Reihenfolge Java Basics - Anfänger-Themen 7
S Vokal Reihenfolge Java Basics - Anfänger-Themen 1
C if Reihenfolge Java Basics - Anfänger-Themen 2
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
F Reihenfolge des Quelltexts Java Basics - Anfänger-Themen 6
B AffineTransform - Reihenfolge der Operationen Java Basics - Anfänger-Themen 3
B Methoden Logische Reihenfolge in Programmen? Java Basics - Anfänger-Themen 4
D Problem mit Initialisierung und Reihenfolge Java Basics - Anfänger-Themen 10
O Zwingende Reihenfolge von Methoden Java Basics - Anfänger-Themen 33
P Vereinfachte for-Schleife wird in umgekehrter Reihenfolge ausgewertet Java Basics - Anfänger-Themen 7
X Collections Reihenfolge bestimmter Objekte in einer ArrayList verändern Java Basics - Anfänger-Themen 2
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
G Zahlen in zufälliger Reihenfolge ausgeben/speichern. Java Basics - Anfänger-Themen 2
R Reihenfolge im Konstruktor der Objekte Java Basics - Anfänger-Themen 13
L Properties Reihenfolge vorgeben Java Basics - Anfänger-Themen 13
N Reihenfolge von Methoden Java Basics - Anfänger-Themen 5
F Reihenfolge in der Events abgearbeitet werden Java Basics - Anfänger-Themen 2
A Wörter umgekehrten Reihenfolge ausgeben Java Basics - Anfänger-Themen 3
A Reihenfolge bei equals() Java Basics - Anfänger-Themen 2
K Reihenfolge Modifikatoren Java Basics - Anfänger-Themen 6
U Zuweisungen - Reihenfolge Java Basics - Anfänger-Themen 9
S Falsche Reihenfolge von Methodenaufrufen Java Basics - Anfänger-Themen 8
G Array Reihenfolge ändern Java Basics - Anfänger-Themen 6
M Reihenfolge von Objekten im Vektor Java Basics - Anfänger-Themen 3
A Liste von Listen mit fester reihenfolge Java Basics - Anfänger-Themen 6
P Frage zu OO (Reihenfolge der Klassen) Java Basics - Anfänger-Themen 2
G Feld in umgekehrter Reihenfolge an zweites Feld übergeben Java Basics - Anfänger-Themen 5
T Reihenfolge von Strings prüfen Java Basics - Anfänger-Themen 3
B Stack mit Strings in zufälliger Reihenfolge füllen Java Basics - Anfänger-Themen 4
K Array umgedrehte Reihenfolge Java Basics - Anfänger-Themen 2
M String Reihenfolge umkehren Java Basics - Anfänger-Themen 2
M Array anders sortieren, aber die Reihenfolge beibehalten Java Basics - Anfänger-Themen 4
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
N Zahlen einlesen und in umgekehrter Reihenfolge ausgeben Java Basics - Anfänger-Themen 5
D Array in umgekehrter Reihenfolge Java Basics - Anfänger-Themen 4
A Reihenfolge erfassen Java Basics - Anfänger-Themen 11
A String Zeichen löschen in einer bestimmten Reihenfolge Java Basics - Anfänger-Themen 25
G Zahlen in umgekehrter Reihenfolge ausgeben Java Basics - Anfänger-Themen 6
A Exception Reihenfolge Java Basics - Anfänger-Themen 3
M Sorry,ne blöde Frage Focus setzen und Focus Reihenfolge Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben