Java(BlueJ) Sortierungsaufgabe Insertions Sort!!

Erste Frage Aufrufe: 1350     Aktiv: 26.01.2021 um 18:55

1

Wir haben folgende Aufgabe bekommen: Programmiert ein CD-Reagl, welches eine beliebige Anzahl von CDs fassen können soll.

Eine CD hat einen Albumtitel, einen Interpreten, eine Gesamtlänge und eine Anzahl an Liedern.

Per Insertion Sort sollen die CDs nach der Anzahl der Lieder und auch nach der Gesamtlänge sortiert werden können.

Nach der Sortierung soll die Liste der sortierten CDs automatisch ausgegeben werden. Leider habe ich in den letzten Unterrichten gefehlt aufgrund meiner Krankheit und habe keine Ahnung wie man sowas in BlueJ eingeben kann. habt ihr eine Idee?

Diese Frage melden
gefragt

Punkte: 15

 
Kommentar schreiben
1 Antwort
1

Schreib dir zwei Klassen: "CD" und "CD_Regal" ... In der Klasse CD musst du dann die benötigten Attribute angeben:

public class CD {
    private String albumtitel;
    private String interpret;
    private int anzahl_lieder;
    ...

}

Dann musst du in der Klasse CD_Regal eine List definieren, da du eine beliebige Anzahl an CDs in einem Regal haben möchtest:

public class CD_Regal {
    private List<CD> cds;

    public CD_Regal {
        this.cds = new LinkedList<>();
    }

    public void sort_anzahl_lieder() {}
    public void sort_gesamtlaenge() {}

}

Die beiden Methoden sort_anzahl_lieder() und sort_gesamtlaenge() kannst du mal versuchen zu implementieren!

Als Tipp: Für Insertionssort kannst du durch die ganze Liste gehen und an jeder Stelle i, musst du das jeweilige Element cds.get(i) einordnen, indem du von 0 bis i-1 iterierst und schaust, ob das jeweilige Element größer ist, als dein aktuelles an Stelle i. Um Objekte zu vergleichen, kannst du das Comparator Interface benutzen. Wenn du also dieses "größere" Objekt an der Stelle j gefunden hast, dann musst du dein aktuelles Objekt hier einfügen und davor schauen, dass du die anderen Elemente richtig verschiebst.

Diese Antwort melden
geantwortet

Schüler, Punkte: 455

 

Kommentar schreiben