verketten Listen Aufgabe

Status
Für weitere Antworten geschlossen.

mucos001

Newbie
Registriert
Dez. 2019
Beiträge
1
Hallo Forum,
ich habe schon Aufgabe a gelöst.Weiss nicht Aufgeb b
könnt Ihr mir helfen
danke


public class Link
{
public int daten;
public Link naechster;

public Link(int daten, Link naechster)
{
this.daten = daten;
this.naechster = naechster;
}

}

public class Liste
{
private Link anfang;

public void fuegeEin(int i)
{
anfang = new Link(i, anfang);
}


a)Ergänzen Sie die Klasse Liste um eine Methode, die die Anzahl der Elemente der Liste bestimmt.

public int bestimmeAnzahl()
{
int erg = 0;

Link zeiger = anfang;

while(zeiger != null)
{
zeiger = zeiger.naechster;
erg++;
}
return erg;
}



b)Ergänzen Sie nun die Klasse Liste um eine weitere Methode, die die Liste in zwei Teillisten teilt.Hierbei soll die Liste, auf der diese Methode aufgerufen wird, den ersten Teil enthalten und der zweite Teil als eigenständige Liste zurückgegeben werden.Die Liste soll hier-bei in der Mitte geteilt werden, d.h. die ersten n/2 Elemente sollen zur ersten Teilliste und die restlichen Elemente zur zweiten Teilliste gehören, wenn n die Anzahl der Ele-mente der Liste bezeichnet. Sie dürfen hierbei die Methode bestimmeAnzahl() aus Aufgabenteil a) benutzen

public Liste teile()
{

}



public void ausgeben()
{
System.out.print("Liste:");

Link zeiger = anfang;

while(zeiger != null)
{
System.out.print(zeiger.daten);

zeiger = zeiger.naechster;
}
}

}

public class Main {

public static void main(String[] args)
{
Liste l = new Liste();

l.fuegeEin(5);

l.fuegeEin(4);

System.out.println(l.bestimmeAnzahl());

//l.teile();


l.ausgeben();
}

}
 
Du musst n/2 Elemente laufen bist dann beim mittel Element. Den pointer speicherst du dir, er zeigt auf die 2te Teilliste. Dann setzt du den pointer am ende von liste 1 auf null.
 
Und dann folgendes beachten:
Nicht erwünscht sind unter anderem:
  • Das Fragen nach Lösungen für Hausaufgaben, Übungszettel, Prüfungen etc. Zumindest dann nicht, wenn keine erhebliche Eigenleistung erkennbar ist.
Wir behalten uns das Recht vor, Inhalte ohne Angabe von Gründen zu bearbeiten oder zu löschen.
 
  • Gefällt mir
Reaktionen: BeBur und Fujiyama
Status
Für weitere Antworten geschlossen.
Zurück
Oben