# Zyklisch verkettete Liste



## Zuckerfee (21. Jun 2004)

Hi Leute,

wie bekommt man eine zyklisch verkettete Liste hin?

Ich habe eine LinkedList angelegt. Der Iterator bleibt aber beim Durchlaufen am Ende stehen, statt von vorne wieder anzufangen.
Wie sag ich dem, das er die Liste nochmal durchlaufen soll?

Bitte hilft mir!


----------



## bygones (21. Jun 2004)

vom prinzip geht das mit der LinkedList nicht... du könntest höchstens eine eigene Klasse schreiben die von LinkedList erbt und das letzte Element auf das erste Element zeigen lassen (in der LinkedList zeigt das letzte Element auf null)

Du weißt aber schon, dass wenn du dann über eine solche Liste iterierst eine Endlosschleife bekommst, wenn du nicht andere Abbruchbedingungen einbaust ?! Außerdem dürfte das serialisieren schwierig werden


----------



## Reality (21. Jun 2004)

wenn du den iterator wieder an den anfang setzen willst, machst du wieder:

```
Iterator itr= linkedListVariable.iterator();
```

Liebe Grüße
Reality


----------



## Zuckerfee (22. Jun 2004)

deathbyaclown hat gesagt.:
			
		

> vom prinzip geht das mit der LinkedList nicht... du könntest höchstens eine eigene Klasse schreiben die von LinkedList erbt und das letzte Element auf das erste Element zeigen lassen (in der LinkedList zeigt das letzte Element auf null)
> 
> Du weißt aber schon, dass wenn du dann über eine solche Liste iterierst eine Endlosschleife bekommst, wenn du nicht andere Abbruchbedingungen einbaust ?! Außerdem dürfte das serialisieren schwierig werden



hi !
und was würdest du für eine lösung vorschlagen ?
vielleicht sollte ich dir das problem mal genauer erläutern....
also: wir sollen eine liste von studenten anlegen, durch die dann ein abzählreim (ehne mehne muh... ) läuft. vorwärts und rückwärts, jeweils von dem letzten objekt aus. das abgezählte objekt soll gelöscht werden und anschließend was auf dem bildschirm ausgegeben werden.
tja und dazu muss ja nun die liste nicht nur einmal durchlaufen werden, sondern mehrmals.
irgendeinen ratschlag für mich ???
ich wäre dir ewig dankbar... *g*
grüßchen


----------



## bygones (22. Jun 2004)

ich finde Realitys idee nicht schlecht.

D.h. mache eine außen schleife die ermittelt, ob es noch element in der liste gibt. wenn ja dann hole dir per iterator() einen Iterator und geh über die Liste, der Verlierer wird gelöscht (Achtung: nicht über die Liste remove, sondern über den Iterator das Element löschen). Das machst du solange bis kein element mehr in der liste ist


----------

