Hallo schon wieder Ich hab Probleme mit 'ne Aufgabe und zwar:
Da hab ich mich schon einige Tage damit beschaeftigt, aber da kriege ich es immer noch nicht her.
Also die aus der Vorlesung bekannte doppelt-verkettet Liste DList ist:
Fuer die insertFirst Methode hab ich so was herausgedacht, bin aber ueberhaupt nicht sicher ob es stimmt und was es bedeutet (hab ich es in ein Java Programmierbuch gefunden)
Also das hier sollte meine insertLast Methode sein. Das verstehe ich schon, aber ich bin nicht sicher ob ich es auch fuer doppelt-verkettete Listen benutzen darf.
Und fuer die delete Methode hab ich gar keine Ahnung wie ich diese erzeugen kann. Ausserdem wie erstelle ich eine einfach-verkaettete Liste und wie fuelle ich diese mit Zahlen(darf ich das in meine main Methode machen oder soll ich noch eine Methode extra schaffen, damit ich meine Liste mit Zahlen fuelle?) Und noch was. Wie bekomm ich aus eine einfach-verkettete Liste eine doppelt-verkettete Liste?
Huh es wurde ein langes Thema daraus Aber ich weiss echt nicht was ich machen muss.
Herzlichen Dank im voraus.
Aus einer einfach-verketteten Liste soll eine doppelt-verkettete Liste erstellt werden. Führen Sie dazu folgende
Schritte aus:
• Implementieren Sie für die aus der Vorlesung bekannte doppelt-verkettete Liste DList die Methoden
insertFirst, insertLast und delete.
• Erstellen Sie eine einfach-verkettete Liste mit den Elementen 1, 7, 3, 5, 2, 9.
• Wandeln Sie die einfach-verkettete Liste in eine doppelt-verkettete Liste um!
• Lassen Sie sich anschließend die doppelt-verkettete Liste ausgeben, inklusive Minimum und Maximum.
• Führen Sie auf der doppelt-verketteten Liste die Operationen delete(9), insertLast(14),
delete(0), insertFirst(-5) und delete(3) aus.
• Lassen Sie sich abschließend die resultierende doppelt-verkettete Liste ausgeben.
Da hab ich mich schon einige Tage damit beschaeftigt, aber da kriege ich es immer noch nicht her.
Also die aus der Vorlesung bekannte doppelt-verkettet Liste DList ist:
Java:
class DList {
DNode head, last; // erstes und letztes Listenelement
DList() {head = null; last = null;}
// weitere Methoden siehe etwa wie nachfolgende
. . .
String toStringInverse(){ // Zeichenkette für invertierte Liste
if(head == null) // Trivialfall: Leere Liste
return ''( )'';
String s = ''('';
DNode tmp = last;// ans Ende der Liste gehen
while(tmp != null){
s = s + tmp.data + '' '';
tmp = tmp.prev;
}
s = s + '')'';
return s;
}
}
Fuer die insertFirst Methode hab ich so was herausgedacht, bin aber ueberhaupt nicht sicher ob es stimmt und was es bedeutet (hab ich es in ein Java Programmierbuch gefunden)
Java:
public void insertFirst(int data) {
Element n = new Element(data);
n.next = last;
last = n;
}
Also das hier sollte meine insertLast Methode sein. Das verstehe ich schon, aber ich bin nicht sicher ob ich es auch fuer doppelt-verkettete Listen benutzen darf.
Java:
public void insertLast(Object item) {
if (head == null) {
// Wir haben eine leere Liste
head = new DNode(item);
last = head;
} else {
// Wir haben eine nichtleere Liste
DNode newDNode = new DNode(item, last);
last = newDNode;
}
count++;
}
Und fuer die delete Methode hab ich gar keine Ahnung wie ich diese erzeugen kann. Ausserdem wie erstelle ich eine einfach-verkaettete Liste und wie fuelle ich diese mit Zahlen(darf ich das in meine main Methode machen oder soll ich noch eine Methode extra schaffen, damit ich meine Liste mit Zahlen fuelle?) Und noch was. Wie bekomm ich aus eine einfach-verkettete Liste eine doppelt-verkettete Liste?
Huh es wurde ein langes Thema daraus Aber ich weiss echt nicht was ich machen muss.
Herzlichen Dank im voraus.