sortierte Liste

baker333

Bekanntes Mitglied
Servus,

in einer Altklausur geht es darum, eine Methode (void fuegeEin (int w)) zu erstellen, die Einträge in eine sortierte Liste einfügt, so dass die Liste weiterhin aufsteigend sortiert ist.

In meinem Skript gibt es dann die u.g. rekursive Methode in der Klasse SortedList, die als einziges Attribut einen "head" vom Typ ListNode hat. Ich denke ich muss nicht weiter auf die Klasse ListNode eingehen. Weiter unten findet sich dann die Lösung aus der Altklausur, die ich mich stark verwundert, weil sie total von der Methode aus dem Skript abweicht und ich mir jetzt unsicher bin, warum hier eine ganz andere Methodendeklaration gewählt wird als im Skript angegeben.

Skript:
Java:
public class SortedList {
    //Attribute
    private ListNode head;
  
    //Konstruktor
    public SortedList() {
        this.head = null;
    }
    //Methoden
    public void add(int value) {
        this.head = add(this.head, value);
    }
  
    private ListNode add(ListNode node, int value) {
        if (node == null) {
            return new ListNode (value, node);
        }
        if (node.getEntry() > value) {
            return new ListNode(value, node);
        }
        node.setNext(add(node.getNext(), value));
        return node;
    }
}

Altklausur:

Java:
public class SortierteListe {
    //Attribute
    public ListNode head;
    //Methoden
    public void add (int w) {
        ListNode newNode = new ListNode(w);
        if (head == null) {
            this.head = newNode;
        }
      
        if (this.head.value > w) {
            newNode.next = this.head;
            this.head = newNode;
            return;
        }
      
        ListeNode current = head;
        while (current.next != null && current.next.value < w) {
            current = current.next;
        }
        newNode.next = current.next;
        current.next = newNode;
    }
}

Beste Grüße!
 

flopalko

Bekanntes Mitglied
In meinem Skript gibt es dann die u.g. rekursive Methode in der Klasse SortedList, die als einziges Attribut einen "head" vom Typ ListNode hat.
Das stimmt einfach nicht. Es gibt eine Methode add(int value) und eine Methode add(ListNode node, int value)

Weiter unten findet sich dann die Lösung aus der Altklausur, die ich mich stark verwundert, weil sie total von der Methode aus dem Skript abweicht und ich mir jetzt unsicher bin, warum hier eine ganz andere Methodendeklaration gewählt wird als im Skript angegeben.
Vermutlich wollen die LVA-Leiter, dass ihr selbstständig eine Methode programmiert und nicht, dass ihr die Methoden aus dem Skript auswendig lernt. Es geht bei einer Programmieren Prüfung nun mal vor allem darum, Wissen anzuwenden und nicht auswendig Gelerntes wiederzugeben. Das sollte bei allen Prüfungen gelten, bei Programmieren ist das aber umso wichtiger.
Was wäre jetzt genau deine Frage?
 

baker333

Bekanntes Mitglied
Gut - die Methode add wird überladen.

Dass man selber Programme schreiben soll ist ja sicherlich richtig, aber für diese Klausur darf man einen Spickzettel mitnehmen. Ich hätte also einfach die Methode von dem Zettel abschreiben können. Trotzdem wird hier eine völlig andere Methode in der Lösung dargestellt.
Worauf ich hinaus will - die Lösung aus dem Skript tut es doch auch? Ich finde die Lösung aus dieser Klausur wesentlich unschöner! Mir geht's hier wie gesagt nicht, an der Lösung zu meckern sondern ich möchte wissen, ob sie der Methode aus dem Skript irgendwie überlegen ist.
 

flopalko

Bekanntes Mitglied
Ich gehe mal davon aus, dass dabei stand, dass man die komplette Einfügelogik in der gefragten Methode schreiben sollte? Sprich: man soll/darf keine Hilfsmethode programmieren? Das wäre sinnvoll, sonst kann man tatsächlich einfach abschreiben. Wenn das so gewollt ist, finde ich das bedenklich.

Falls das allerdings nicht dabei stand nehme ich an, dass Skript und Referenzlösung von verschiedenen Personen geschrieben wurde, daher kommen verschiedene Ansätze raus. Nicht jeder programmiert schließlich gleich...
 

baker333

Bekanntes Mitglied
Nein, bzgl. Hilfsmethoden steht dort nichts.

Was ich viel schlimmer finde, ist die Sprache.
Im Skript ist der Code auf Englisch und man gewöhnt sich natürlich daran. ListNode, next, head, getter und setter etc.

Die Lösung und der Code in der Altklausur ist auf Deutsch und ich habe das oben schon übersetzt, weil es sonst furchtbar ist.

Dabei fällt mir auch gerade auf, dass 'next' (welches dazu dient auf den nächsten Knoten zu verweisen) in der Altklausur als 'naechstes' genutzt wird. Gleichzeitig nutzt man 'naechstes' auch als getter für 'getNext()'.
Absolut furchtbar und da ich komplett neu bin und per Glück an diese Klausuren gekommen bin, kann ich mich an diesen Unfug für die Klausur gewöhnen. Hätte ich davon nichts gewusst, dann wäre ich mit diesen deutschen Codes in dee Klausur total verwirrt.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Sortierte generische Liste Java Basics - Anfänger-Themen 1
B Sortierte Liste implementieren Java Basics - Anfänger-Themen 3
P Sortierte Liste Java Basics - Anfänger-Themen 29
L Problem mit Iterator bzw. Sortierte Liste Java Basics - Anfänger-Themen 14
M Sortierte Liste / Map Java Basics - Anfänger-Themen 8
M Sortierte Liste nach Wert durchsuchen Java Basics - Anfänger-Themen 8
L Zwei sortierte Subarrays mit gleicher Länge zusammenfügen Java Basics - Anfänger-Themen 2
E sortierte Arrayteile zusammenfügen Java Basics - Anfänger-Themen 0
A Sortierte Listen Java Basics - Anfänger-Themen 4
K 2 sortierte Arrays zu einem Arrays zusammenführen Java Basics - Anfänger-Themen 13
M sortierte Ausgabe eines .txt Dokuments Java Basics - Anfänger-Themen 1
H 2 sortierte arrays in ein array Java Basics - Anfänger-Themen 2
M Sortierte Tabelle in Datei schreiben Java Basics - Anfänger-Themen 5
Povlsen84 Datentypen Große, sortierte, schnelle Datenstruktur Java Basics - Anfänger-Themen 9
S Sortierte LinkedList nach Variablen durchsuchen und nicht nach INDEX Java Basics - Anfänger-Themen 6
G Zwei sortierte Arrays zusammenführen Java Basics - Anfänger-Themen 13
G Sortierte Daten Java Basics - Anfänger-Themen 7
T Sortierte Ausgabe in der Shell Java Basics - Anfänger-Themen 4
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
M Verkettete Liste Java Basics - Anfänger-Themen 1
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
thor_norsk Verkette Liste Java Basics - Anfänger-Themen 27
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
M Java Liste streamen Java Basics - Anfänger-Themen 10
AmsananKING Aussortierung einer Liste Java Basics - Anfänger-Themen 8
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
A Korrigierte <String> Liste zurückgeben Java Basics - Anfänger-Themen 22
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
I Liste gruppieren nach Monat? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
Gaudimagspam Linked Liste Java Basics - Anfänger-Themen 4
Z Liste umkehren Java Basics - Anfänger-Themen 1
S Eine Liste kopieren Java Basics - Anfänger-Themen 13
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M QuickSort und Liste Java Basics - Anfänger-Themen 6
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1
M Array liste Verdrehen Java Basics - Anfänger-Themen 8
A Verkettete Liste Java Basics - Anfänger-Themen 2
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben