Hallo, das ist zu viel für einen simplen Kommentar.
Ok, mit "container" kann ich nicht so viel anfangen aber eine doppelt verkettete Liste ist klar. Ein Element (vermutlich container) hat einen "Vorgänger" und einen "Nachfolger". Die einfachere Alternative ist die einfach verkettete Liste. Hier hat ein Element nur einen "Nachfolger". In der einfach verketteten Liste kannst Du Dich beim Suchen nur in eine Richtung bewegen. Bei der doppelt verketteten Liste vorwärts und rückwärts. Lässt sich schwer darstellen aber ich versuch‘s. Jedes Element hat einen Zeiger auf das nächste Element "->" und einen Zeiger auf das vorige Element " <-". Bisherige Liste: A -> <- E -> <- O -> <- U > <-A. Das "A" ist beides mal das selbe Element. Nun soll ein "I" als neues Element eingefügt werden.
- Liste vom Anfang - mal A angenommen - über -> durchgehen bis E gefunden wird.
- Im "->" Zeiger vom neuen Element I das Element O abspeichern. Der steht ja bei E als "->" Zeiger drin und da bist Du gerade.
- Jetzt "E" bei I im Zeiger "<-" abspeichern.
- Den Zeiger "->" bei E auf "I"ändern.
fertig. Da das ein dynamischer Prozess ist kann man das leider nicht durch ein einfaches Codeschnipsel anschaulich darstellen. Doppelt verkettete Liste gehört meiner Meinung nach schon in die Oberklasse. In den meisten Fällen reichen ein Startwert und einfach verkettete Listen.
Andere Darstellung:
- A -> E
- <- I -> O (O kommt von E ->)
- E <- I -> O (bei E bist Du gerade)
- A -> <- E -> <- I -> O ...
Don't worry, wenn es immer noch nicht klarer wird einfach melden. Dann versuch ich's doch mal mit einem Codeschnipsel.
LG jobe
Hast du gerade deinen ganzen Übungszettel oder so hochgeladen?
─ kingkevin23 14.01.2020 um 23:14