MartinX3-EducationOrganization / HBRS_SA_S3_EIDIP_2017_WS

Übungsaufgaben des Faches Einführung in die Programmierung des 3. Semesters (Nachschreiben) HBRS in SA im Fach
GNU Affero General Public License v3.0
2 stars 0 forks source link

Übung 10_1 #50

Open MartinX3 opened 6 years ago

MartinX3 commented 6 years ago

Aufgabe 1 [Programmierung – nicht einzureichen]

Schreiben Sie eine Klasse Felder mit einer Klassenmethode permutationen, die ein int-Array a als Argument annimmt. Die Methode soll rekursiv alle möglichen Permutationen (Vertauschungen der Elemente) von a produzieren.

Geben Sie jede Permutation mittels Arrays.toString auf einer Zeile auf dem Bildschirm aus.

Hinweise:

optionale Erweiterung: Geben Sie die Permutationen nicht auf dem Bildschirm aus, sondern in einem Array (von Arrays, die die Permutationen darstellen) als Ergebnis zurück.

Hinweise dazu:

optionale Erweiterung: Falls ein Element mehrfach in dem Array vorkommt, entstehen identische Permutationen, wenn lediglich diese gleichwertigen Elemente untereinander ausgetauscht werden. Passen Sie die Lösung an, so dass solche Doppelungen vermieden werden.

Hinweis dazu: Bevor Sie ein Element aus dem Array an die derzeit letzte Position tauschen, prüfen Sie, ob dasselbe Element nicht schon weiter vorn im Array steht, also bereits berücksichtigt worden ist. Falls doch, ignorieren Sie dieses Vorkommen des Elements und fahren mit dem nächsten fort.