Autoparkplatz verkettete Liste erstes und letztes Auto

Igig1

Mitglied
Hi, ich erstelle einen Autoparkplatz als verkettete Liste selber. Mein Autoparkplatz kann 7 Autos parken, die Kapazität ist in einem Array vom Typ Auto vorgegeben.

mein Parkplatz kennt immer seinen erstest und letztes Auto, also das Auto im Arrayit dem Index 0 wäre ja das erste Auto, aber wie definiere ich das letzte Auto? Ich hab vom Typ Auto das Atteibut letztesauto z. B. aber wie definiere ich es? Ich habe einen Konstruktor der bei Erstellung des Parkplatzes automatisch ein Auto mitgeben muss, das tue ich dann in den Artay und das ist mein erstes Auto, was der Parkplatz kennt, aber wie initialisiere ich mein letztes Auto? Wenn ich nur zwei Autos habe, habe ist ja das zweite Auto immer das letzte, wie weise ich das zu? Und wenn ich ein Auto entferne, muss ich ja auch immer das erste und letzte Auto verändern, wie soll das gehen?
 

Igig1

Mitglied
Was hat ein Array mit einer verketteten Liste zu tun? Richtig - nichts!

Schau evtl. mal bei https://www.java-forum.org/thema/einfach-verkettete-liste-verstehen.194516/
Da wird recht ausgiebig über verkettete Listen diskutiert.
Sorry, habs vielleicht nicht gut erklärt, aber ich erstelle selber einen Parkplatz der eine verkettete Liste und in der Klasse die den Parkplatz darstellt habe ich rinen Array der Größe 7, wo alle Autos reingelegt werden, der Array ist dafür, um die maximale Größe ded Parkplatzes darzustellen


Das ist z.B ein Bücherregel als verkettete Liste, hat die gleichen Eigenschaften wie mein Parkplatz und auch einen Array enthalten
 

Jw456

Top Contributor
Du willst doch sowas wie eine doppelt verkette Liste machen oder?

Da musst du beim hinzufügen immer dem vorherigen Auto die ref auf dich selber geben.

Nicht nur die ref des neuen in dich selber abspeichern.
 

Oneixee5

Top Contributor
aber wie definiere ich das letzte Auto?
Die letzte Stellfläche des Parplatzes findest du so:
Java:
var letzter = parkplatz[parkplatz.length - 1];
-> wenn dein Parkplatz ein Array ist.
Das letzte Auto zu finden ist Definitionssache. Ein Parkplatz kann ja auch leere Stellflächen haben und das Auto auf dem letzten Stellplatz muss ja nicht als letztes angekommen sein. Was ist dann das letzte Auto - das welches zuletzt angekommen ist oder das mit dem höchsten Index im Array?

Ich denke dein Array ist eine Sackgasse und ist gar nicht was du willst. Du willst eine verkette Liste der Autos und die nicht ein Array der Stellflächen vom Parkplatz. Du musst also dein Parkplatz-Array loswerden und eine verkettete Liste von Autos erstellen.
 

Igig1

Mitglied
Aso, bei mir ist es so, ich habe eine Klasse Auto, die zeigt auf beide Nachbarautos, also doppelt verkette Liste und nun soll ich einen Parkplatz erstellen, der die Autos parkenläsdt in sich, die maximale Kapazität des Parkplatzes beträgt 7 Autos, deshalb habe ich einen Array erstellt mit der Kapazität 7 in der Klasse Parkhaus, das Parkhaus muss auch keine verkettete Liste sein, dafür habe ich ja Autos schon.

aber das Parkhaus muss halt das erste und letzte Auto in sich kennen und ich weiß nicht wie ich das darstelle, ist vielleicht auch Definitionssache, aber das letzte soll in dem Fall das letzte Auto sein, was gerade vorhanden ist. Der Parkplatz hat Platz für 7 Autos, wenn 3 enthalten sind, wäre ja der im Index 2 das letzte Auto, aber wie stelle ich ein, dass das immer geschieht? Also immer das letzte Auto dann angepasst wird, wenn ich ein Auto hinzugüge oder entferne ? Klar ist ich erstelle zwei Attribute in Parkhaus vom Typ Auto die das erste und letzte Auto darstellen, das erste Auto ist immer das Auto welches vorhanden ist, sagen wir mein Parkplatz ist voll alle 7 Autos sinf drinne, dann wäre das erste das Auto im Index 0 des Arrays, aber wenn das ausparkt und keiner dazukommt, ist ja das erste Auto der im Index 1 und so muss ich dir Attribute halt immer anpassen
 

Igig1

Mitglied
Ist das so vorgegeben?
Das musste ich erstellen, Aufgabenstellung lautet:

„Erstelle eine Klasse Auto, sei dir bewusst dass ein Auto auf einem Parkplatz, der nur Parkplätze hat die nebeneinander stehen, sein zu sich links und rechts stehendes Auto kennt! Erstelle danach die Klasse Parkplatz, sei die bewusst, dass der Parkplatz nur die Kapazität von 7 Autos aufweist und der Parkplatz kennt das erste und letzte Auto, welches in ihm ist und zudem kennt er immer die insgesamte Anzahl an Autos die in ihm stehen!“
 

Oneixee5

Top Contributor
Also irgend etwas stimmt hier nicht. Wenn ein Auto in ein Parkhaus fährt wird es auf einen bestimmten Platz gestellt. Wenn der Nachbar wegfährt, dann gibt es keinen Nachbarn mehr. Die anderen Autos werden deswegen ja nicht umgeparkt. Es gibt dann einfach einen freien Parkplatz im Parkhaus.
Man muss eben unterscheiden, ob man eine Liste von Autos verwaltet oder Parkplätze. Parkplätze wären ja quasi unveränderlich wie ein Array. Auf einem Parkplatz parkt ein Auto oder eben nicht.
Das ist dann aber immer noch keine Liste von Autos.
Eine Liste von Autos könnte man am Eingang mit einer Schranke erstellen. Wenn 7 Autos drin sind, dann lasse ich keins mehr rein. Dabei ist mir aber egal wo sie stehen. Es interessiert im Moment nur die Anzahl der Autos.
Somit wäre eine einfache Zählvariable im Moment ausreichend. Eine Liste sollst du vermutlich deshalb verwenden, weil das Programm noch erweitert werden soll. Also konzentriere dich auf die Liste der Autos und nicht so sehr auf die Parkplätze. Damit wird das Problem eigentlich ganz überschaubar.
Eine doppelt verkettet Liste hat immer ein erstes und ein letztes Element (Auto), das muss die Liste einfach kennen. Notfalls findest du das letzte Element dadurch, dass es nur einen Vorgänger und keinen Nachfolger hat. Das erste Element (Wurzel) musst man sich aber in der Liste auf jeden Fall merken und es hat nur einen Nachfolger aber keinen Vorgänger. Alle anderen Elemente der Liste haben einen Vorgänger und einen Nachfolger - man könnte auch linker und rechter Nachbar dazu sagen.
Du kannst die Elemente der Liste ganz einfach zählen, indem du bei der Wurzel beginnst und immer wieder den Nachfolger abfragst. Jedes mal wenn es einen Nachfolger gibt, erhöhe den Zähler um eins. Wenn es keinen Nachfolger gibt (null), dann bist du am Ende der Liste.
 
Zuletzt bearbeitet:

Igig1

Mitglied
Also irgend etwas stimmt hier nicht. Wenn ein Auto in ein Parkhaus fährt wird es auf einen bestimmten Platz gestellt. Wenn der Nachbar wegfährt, dann gibt es keinen Nachbarn mehr. Die anderen Autos werden deswegen ja nicht umgeparkt. Es gibt dann einfach einen freien Parkplatz im Parkhaus.
Man muss eben unterscheiden, ob man eine Liste von Autos verwaltet oder Parkplätze. Parkplätze wären ja quasi unveränderlich wie ein Array. Auf einem Parkplatz parkt ein Auto oder eben nicht.
Das ist dann aber immer noch keine Liste von Autos.
Eine Liste von Autos könnte man am Eingang mit einer Schranke erstellen. Wenn 7 Autos drin sind, dann lasse ich keins mehr rein. Dabei ist mir aber egal wo sie stehen. Es interessiert im Moment nur die Anzahl der Autos.
Somit wäre eine einfache Zählvariable im Moment ausreichend. Eine Liste sollst du vermutlich deshalb verwenden, weil das Programm noch erweitert werden soll. Also konzentriere dich auf die Liste der Autos und nicht so sehr auf die Parkplätze. Damit wird das Problem eigentlich ganz überschaubar.
Eine doppelt verkettet Liste hat immer ein erstes und ein letztes Element (Auto), das muss die Liste einfach kennen. Notfalls findest du das letzte Element dadurch, dass es nur einen Vorgänger und keinen Nachfolger hat. Das erste Element (Wurzel) musst man sich aber in der Liste auf jeden Fall merken und es hat nur einen Nachfolger aber keinen Vorgänger. Alle anderen Elemente der Liste haben einen Vorgänger und einen Nachfolger - man könnte auch linker und rechter Nachbar dazu sagen.
Ja, eins drüber habe ich Ihnen die 1 zu 1 Aufgabenstellung für der 7 a) genannt, erst bei 7 b kommen andere Sachen dazu. Denke wenn das Auto keinen Nachbar mehr hat, so muss ich dann den Nachbar vllt null setzen?
 

Oneixee5

Top Contributor
Denke wenn das Auto keinen Nachbar mehr hat, so muss ich dann den Nachbar vllt null setzen?
Nein, wenn wir bei der Liste der Autos bleiben dann nicht. Wenn ein Element X aus der Liste entfernt werden soll, dann wird der Vorgänger des Elements X als Vorgänger des nächsten Elements nach X - also dem Nachfolger von X gesetzt. Somit wird X nicht mehr in der Liste gefunden, wenn man wieder bei der Wurzel beginnt durch die Liste zu wandern. Die Liste ist somit ein Element kürzer.
Das ist der Unterschied zum Parkplatz, dieser wäre dann einfach leer, bleibt aber erhalten.
 

temi

Top Contributor
Der Parkplatz hat Platz für 7 Autos, wenn 3 enthalten sind, wäre ja der im Index 2 das letzte Auto
Vergiss das Array und vergiss "Index". Das letzte Auto ist dasjenige, welches keinen Nachfolger mehr hat (verkettete Liste). Die Sache mit dem "Platz" kannst du über einen Zähler lösen, den du beim "Einparken" erhöhst und beim "Ausparken" verringerst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Verkettete Liste Java Basics - Anfänger-Themen 1
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
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
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
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
A Verkettete Liste Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
H Verkettete Liste Java Basics - Anfänger-Themen 7
N Verkettete liste rückwärts ausgeben Java Basics - Anfänger-Themen 18
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
R Erste Schritte Verkettete Liste will einfach nicht in meinen Schädel Java Basics - Anfänger-Themen 11
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
U Datentypen Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 13
J Methoden Doppelt verkettete Liste remove(Object) Java Basics - Anfänger-Themen 8
B OOP Über eine doppelt verkettete Liste iterieren Java Basics - Anfänger-Themen 4
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
L Doppelt verkettete Liste Java Basics - Anfänger-Themen 6
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
V Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 3
N verkettete Listen Java Basics - Anfänger-Themen 4
R doppelt verkettete Liste aus Arrays erstellen Java Basics - Anfänger-Themen 1
K Einfach Verkettete Liste - addFirst() Java Basics - Anfänger-Themen 7
M verkettete Listen Java Basics - Anfänger-Themen 1
G 2 Aufgabe rund um eine verkettete Liste Java Basics - Anfänger-Themen 2
O Verkettete Liste Java Basics - Anfänger-Themen 10
E Methoden auf von Methoden erstellte Objekte zugreifen (verkettete Liste) Java Basics - Anfänger-Themen 10
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
S Doppelt verkettete Liste Java Basics - Anfänger-Themen 3
G Doppelt Verkettete Liste Java Basics - Anfänger-Themen 2
V Methoden Verkettete Listen Index eines Elementes ausgeben Java Basics - Anfänger-Themen 10
A Doppelt Verkettete Liste Java Basics - Anfänger-Themen 16
E doppelt verkettete liste Java Basics - Anfänger-Themen 10
V Verkettete Liste. Java Basics - Anfänger-Themen 7
X Einfach Verkettete Liste Java Basics - Anfänger-Themen 16
K Verkettete Liste - Methode entwerfen Java Basics - Anfänger-Themen 14
S Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 12
B Insertionsort verkettete Liste Java Basics - Anfänger-Themen 4
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
D Collections Verkettete Listen und Fußball... Java Basics - Anfänger-Themen 11
R verkettete liste ansEndeSchieben Java Basics - Anfänger-Themen 13
S Verkettete Listen Java Basics - Anfänger-Themen 10
S Verkettete Listen in Java Java Basics - Anfänger-Themen 11
T Verkettete Liste Java Basics - Anfänger-Themen 14
C Methoden Verkettete listen - next methode Java Basics - Anfänger-Themen 3
I verkettete listen Java Basics - Anfänger-Themen 12
A Klassen Innere Klassen, verkettete Liste Java Basics - Anfänger-Themen 9
B Zweifach-verkettete Liste umkehren Java Basics - Anfänger-Themen 6
X verkettete Liste Java Basics - Anfänger-Themen 13
E Datentypen Doppelt verkettete Liste Java Basics - Anfänger-Themen 10
P Einfügen in doppelt verkettete Liste Java Basics - Anfänger-Themen 7
K verkettete Listen - Klasse Knoten Java Basics - Anfänger-Themen 19
kae verkettete Liste Java Basics - Anfänger-Themen 5
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
B OOP Verkettete Liste Java Basics - Anfänger-Themen 7
R verkettete liste Java Basics - Anfänger-Themen 5
M Verkettete Liste Java Basics - Anfänger-Themen 4
M verkettete liste Java Basics - Anfänger-Themen 7
N doppelt verkettete liste einfügen Java Basics - Anfänger-Themen 7
K Datentypen Einfach/Doppelt verkettete Liste Java Basics - Anfänger-Themen 4
N einfach verkettete liste fehler Java Basics - Anfänger-Themen 5
N einfach verkettete liste Java Basics - Anfänger-Themen 3
G verkettete Liste - invertieren Java Basics - Anfänger-Themen 2
U Verkettete Listen Java Basics - Anfänger-Themen 13
B OOP Einfach verkettete Liste - rekursive Methoden Java Basics - Anfänger-Themen 1
B verkettete Liste Java Basics - Anfänger-Themen 8
M Probleme mit verkettete Listen Java Basics - Anfänger-Themen 4
S zyklisch verkettete Liste erstellen Java Basics - Anfänger-Themen 3
S einfach verkettete Liste Java Basics - Anfänger-Themen 19
O Stack Implementierung als verkettete Liste Java Basics - Anfänger-Themen 8
W Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 2
M verkettete Listen Java Basics - Anfänger-Themen 39
T Einfach verkettete Liste: Wie Elemente löschen? Java Basics - Anfänger-Themen 4
J verkettete Liste Java Basics - Anfänger-Themen 2
T Klasse in Java für doppelt verkettete Listen Java Basics - Anfänger-Themen 4
D Einfach verkettete Liste Java Basics - Anfänger-Themen 20
DasDogma Verkettete Liste - Element löschen Java Basics - Anfänger-Themen 2
H Verkettete Liste Java Basics - Anfänger-Themen 5
M verkettete Liste auslesen Java Basics - Anfänger-Themen 7
K eigene verkettete Liste Java Basics - Anfänger-Themen 4
G Doppelt verkettete, generische Liste Java Basics - Anfänger-Themen 11
A Eine verkettete Liste Java Basics - Anfänger-Themen 43

Ähnliche Java Themen

Neue Themen


Oben