Datenstruktur die 2. |
23.01.2015, 15:30 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | Datenstruktur die 2.
) Die Methode public E get() gibt das erste Element (d.h. das Element, das momentan von allen Elementen am langsten¨ in der Liste gespeichert wird) der Liste aus und loscht¨ dieses Element aus der Liste.
eine weitere frage ich hätte statt Entry<E> currentEntry = this.firstEntry.getElement(); auch Entry<E> currentEntry = this.firstEntry; schreiben können ,richtig?? |
||||||||||
|
|||||||||||
23.01.2015, 17:02 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Entry<E> currentEntry = this.firstEntry.getElement(); ist falsch, da Entry<E> nicht der selbe Typ ist, wie E. Du musst also Entry<E> currentEntry = this.firstEntry; schreiben. |
||||||||||
23.01.2015, 21:38 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | stimmt !! (c) Die Methode public boolean contains(E element) gibt true zuruck,¨ wenn das gegebene Element element in der Liste vorhanden ist, ansonsten false. Die Elemente sollen dabei auf Gleichheit getestet werden. 1. vorschlag
2. vorschlag
beide stimmen ? |
||||||||||
24.01.2015, 08:28 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Der 2. sieht gut aus, der 1. ist furchtbar: Hier wird this.head überschrieben und somit werden munter Einträge gelöscht, bis der gewünschte dabei ist. Eine Prüfung auf null findet auch nicht statt, sodass statt nie ein false zurückgegeben wird, sondern eine Exception geworfen. |
||||||||||
Anzeige | |||||||||||
|
|||||||||||
24.01.2015, 11:47 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 |
genau hierzu eine frage und zwar im while (i<this.size) wird damit nicht erreicht, dass man null gar nicht prüft, da while schon voher abbricht?? |
||||||||||
24.01.2015, 11:54 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Und wird irgendwo i erhöht oder beim Löschen (das nicht passieren sollte) this.size verringert? Nein! |
||||||||||
24.01.2015, 12:07 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | wie siehts damit aus?
|
||||||||||
24.01.2015, 12:12 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Sieht gut aus. Hier noch eine Alternative ohne den Schleifenzähler:
|
||||||||||
04.02.2015, 15:18 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | Die Methode public void put(E element) hangt¨ das gegebene Element element an das Ende der Liste an. Das ist der Lösungsvorschlag, hierzu eine frage
|
||||||||||
04.02.2015, 16:36 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Dann darfst du dich an einer NullPointerException erfreuen. Dazu sollte es aber gar nicht erst kommen, da der Teil nur durchlaufen wird, wenn this.size > 0 ist. Somit gibt es auch einen lastEntry. |
||||||||||
04.02.2015, 16:47 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | sagen wir this.size=1 this.firstEntry ungleich null aber this.lastEntry ist doch null? dann würde man doch folgendes ausführen Entry<E> currentEntry = this.lastEntry; currentEntry.setNext(entry); und NullPointerException erhalten? |
||||||||||
04.02.2015, 16:50 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Aber davor, als size noch 0 war, wurde das gemacht: this.lastEntry = entry; Du solltest dir wirklich angewöhnen, den Code vernünfitg zu formatieren:
|
||||||||||
04.02.2015, 17:01 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | sry irgendwie verstehe ich es noch nicht fangen wir langsam an wenn this.size=1 ist, was ist dann this.lastEnty?? |
||||||||||
04.02.2015, 17:03 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Das, was beim vorherigen Aufruf von put erzeugt wurde. |
||||||||||
04.02.2015, 17:08 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | wenn this.size=1 ist dann habe ich doch nur ein element nämlich this.firstEnty ? und wenn man noch this.lastEnty hätte, müsste dann nicht this.size 2 sein?? |
||||||||||
04.02.2015, 17:09 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Aber es wird ja ausgeführt:
und
Du hast also nur einen Eintrag, aber sowohl firstEntry als auch lastEntry verweisen auf diesen. |
||||||||||
04.02.2015, 17:16 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | ja das macht man sinn aber wenn this.size=1 dann muss lastEnty auf null verweisen und weil size eins war wird currentEntry.setNext(entry); ausgeführt oder? und das macht mir probleme?
|
||||||||||
04.02.2015, 17:18 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | ach ich glaube jetzt versteh ich dich wenn this size=1 dann verweisen ths.lastEntry und the.firstEntry auf das gleiche |
||||||||||
04.02.2015, 17:18 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Erster Funktionsaufruf: size == 0, daher
Zweiter Funktionsaufruf: size == 1, aber lastEntry ist nicht mehr null. |
||||||||||
04.02.2015, 17:25 | Auf diesen Beitrag antworten » | ||||||||||
neuling96 | endlich verstanden danke |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|