Selbe Aufgaben stellung, andere Lösung

arhzz

Bekanntes Mitglied
Hallo! Also als ich Musterbeispiele erldigte,habe ich etwas kommisches bemerkt.In einem Beispiel hat man fast die selbe aufgabe,Die Klasse List und Element sind in beiden Klausuren exakt gleich. Die Bedingung die man erfüllen muss ist auch gleich, aber das erzeugen von element ist anders. Wieso ist das so? Oder habe ich vielleicht etwas falsch verstanden? Ich habe die Bilder von dem Klausuren im angehängt
 

Anhänge

  • Example two.png
    Example two.png
    116,5 KB · Aufrufe: 19
  • Example one.png
    Example one.png
    170,1 KB · Aufrufe: 19
Hallo! Also als ich Musterbeispiele erldigte,habe ich etwas kommisches bemerkt.In einem Beispiel hat man fast die selbe aufgabe,Die Klasse List und Element sind in beiden Klausuren exakt gleich. Die Bedingung die man erfüllen muss ist auch gleich, aber das erzeugen von element ist anders. Wieso ist das so? Oder habe ich vielleicht etwas falsch verstanden? Ich habe die Bilder von dem Klausuren im angehängt
Da hast du definitiv etwas falsch verstanden:
Example_two:
Die Liste soll eine neue Liste zurückliefern, die welche die Werte in umgekehrter Reihenfolge enthalten
Also - du hast eine List und sollst eine Liste zurückliefern, die umgekehrt angeordet werden:
z.B.
gegeben: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
neue Liste: 9, 8, 7, 6, 5, 4, 3, 2, 1

Example_one:
Dupliziere alle Element
gegeben: a, b, c, d, e, f
neue Liste: a, a, b, b, c, c, d, d, e, e, f, f
 
Die Klasse List und Element sind in beiden Klausuren exakt gleich.

Nun in beiden Aufgaben liegt offensichtlich eine LinkedList zu Grunde. Die Benennung ist etwas untypisch in deinen Beispielen, typischer Weise würde Element eher Node heißen, start würde head heißen und List würde LinkedList heißen. Nichts desto trotz ist das nur ein Container, der unterscheidet sich nunmal nicht für diese Anwendungsfälle. Das ist nur der Rahmen in dem du dich bewegst.

Die Bedingung die man erfüllen muss ist auch gleich
Meinst du damit die while-Schleife? Natürlich ist die Gleich, in beiden Fällen iterierst du dich einmal durch die Liste und machst mit jedem Element etwas. Diese Tätigkeit, welche du mit jedem Element machst ist aber in beiden Fällen unterschiedlich. In reverse hängst du jedes Element (Kopie davon) vorne in die neue Liste ein. Bei duplicate hängt du das aktuelle Element (Kopie davon) nachfolgend in die aktuelle Liste ein.
 
Nun in beiden Aufgaben liegt offensichtlich eine LinkedList zu Grunde. Die Benennung ist etwas untypisch in deinen Beispielen, typischer Weise würde Element eher Node heißen, start würde head heißen und List würde LinkedList heißen. Nichts desto trotz ist das nur ein Container, der unterscheidet sich nunmal nicht für diese Anwendungsfälle. Das ist nur der Rahmen in dem du dich bewegst.


Meinst du damit die while-Schleife? Natürlich ist die Gleich, in beiden Fällen iterierst du dich einmal durch die Liste und machst mit jedem Element etwas. Diese Tätigkeit, welche du mit jedem Element machst ist aber in beiden Fällen unterschiedlich. In reverse hängst du jedes Element (Kopie davon) vorne in die neue Liste ein. Bei duplicate hängt du das aktuelle Element (Kopie davon) nachfolgend in die aktuelle Liste ein.
Ja dass verstehe ich, aber was mir kommisch ist ist das erzeugen von element. In den komentaren von auch reverse und duplicate steht das selbe ("Neues listelement erstellen als kopie des aktuellens listen element),und das erzeugen ist anders. Aktuelles.wert macht in beiden, dass verstehe ich also nimm den aktuellen wert, aber in einem ist dann element, in anderem current.next. Wo zu der unterschied. Dass ist der Teil dass mir unklar ist.
 
Da ist kein Unterschied, die Felder in der Implementierung haben einfach einen anderen Namen. reverse hat deutsche Bezeichnungen, duplicate hat englische Bezeichner
 
Ah jetzt verstehe ich was du meinst. Nein das ist nicht das gleiche. Der 2. Parameter ist der zu setzende next Wert des erstellten Elementes. Bei reverse ist element die Kopie des zuvor betrachteten Elementes, also sagst du beim Erstellen der neuen Kopie der Nachfolger ist die andere Kopie. Damit wird die neue Reihenfolge in der LinkedList der Kopien hergestellt.
 
Ah jetzt verstehe ich was du meinst. Nein das ist nicht das gleiche. Der 2. Parameter ist der zu setzende next Wert des erstellten Elementes. Bei reverse ist element die Kopie des zuvor betrachteten Elementes, also sagst du beim Erstellen der neuen Kopie der Nachfolger ist die andere Kopie. Damit wird die neue Reihenfolge in der LinkedList der Kopien hergestellt.
Aaaaaa jetzt macht es sinn. Vielen Dank Moxxi!
 

Zurück
Oben