Hallo liebe Leute,
Ich hab einige Probleme, bitte nicht blöd gucken, die Probleme sind für euch trivial aber ich bin nicht sooo der programmierfreund
Folgender Quellcode ist gegeben:
Folgende Methoden sollen implementiert werden:
1)Einfügen eines Elements am Anfang
2)Anfügen an das Ende einer Liste (nicht das Dummy Elemen, also Vorgänger)
3)Entfernen eines Elements
3 a) Entfernen des Elements am Anfang der Liste & Ende der Liste (Nicht Anfangs & End Dummy Element)
4)Entfernen des des Elements mit größten Wert
5) Verschmelzen zweier Listen
6) Summieren der Werte in der Liste
Folgende Aufgaben hab ich bisher fertig:
Würde mich wirklich seh freuen wenn ihr euch meine jetztigen methoden anschaut und evtl. ergänzt und mir bei den fehlenden ein bisschen helfen könnt
Ich hab einige Probleme, bitte nicht blöd gucken, die Probleme sind für euch trivial aber ich bin nicht sooo der programmierfreund
Folgender Quellcode ist gegeben:
Java:
class Link
{
//Attribute
int daten;
Link naechster;
//Konstruktor
Link(int daten, Link naechster)
{
this.daten = daten;
this.naechster = naechster;
}
}
public class Liste
{
//Attribute
protected Link anfang;
protected Link ende;
//Konstruktor
public Liste(int startLeer, int endeLeer)
{
anfang = new Link(startLeer, null);
ende = new Link (endeLeer, anfang);
anfang.naechster = ende;
}
}
Folgende Methoden sollen implementiert werden:
1)Einfügen eines Elements am Anfang
2)Anfügen an das Ende einer Liste (nicht das Dummy Elemen, also Vorgänger)
3)Entfernen eines Elements
3 a) Entfernen des Elements am Anfang der Liste & Ende der Liste (Nicht Anfangs & End Dummy Element)
4)Entfernen des des Elements mit größten Wert
5) Verschmelzen zweier Listen
6) Summieren der Werte in der Liste
Folgende Aufgaben hab ich bisher fertig:
Java:
//1)Einfügen eines Elements
public void einfuegenElement(int neuerWert)
{
Link neuerLink = new Link(neuerWert, ende);
Link ZeigerAufVorletztesElement = ende.naechster;
ZeigerAufVorletztesElement.naechster = neuerLink;
ende.naechster = neuerLink;
}
//das wäre das einfügen am ende wie methode anfügen, irgenwie hab ich eine blockade und kann es nicht auf anfang umschreiben -.-
//2)Anfügen an das Ende einer Liste (nicht das Dummy Elemen, also Vorgänger)
public void anfuegenElement(Object neuesElement)
{
Link neuerLink= new Link(neuerWert, ende);
Link ZeigerAufVorletztesElement = ende.naechster;
ZeigerAufVorletztesElement.naechster = neuerLink;
ende.naechster = neuerLink;
}
3)Entfernen eines Elements
public Object entfernenElement()throws NoSuchElementException
{
Link aktuellerZeiger = aktuellerZeiger();
if (aktuellerZeiger == ende)
throw new NoSuchElementException("Am Ende der Liste");
vorgaengerAktuellerZeiger.naechster =
aktuellerZeiger.naechster;
if (aktuellerZeiger.naechster == ende)
ende.naechster = vorgaengerAktuellerZeiger;
return aktuellerZeiger.getDaten();
}
//3 a) Entfernen des Elements am Anfang der Liste & Ende der Liste (Nicht Anfangs & End Dummy Element)
//kann ich gar nicht
//4)Entfernen des des Elements mit größten Wert
//kann ich auch nicht :(
//5) Verschmelzen zweier Listen
public void verketten(Liste zweiteListe)
{
if (!zweiteListe.istLeer())
{
Link zeigerAufErstesElementDerZweitenListe = zweiteListe.getAnfang().naechster;
Link zeigerAufVorletztesElement = ende.naechster;
zeigerAufVorletztesElement.naechster = zeigerAufErstesElementDerZweitenListe;
ende = zweiteListe.getEnde();
}
}
//6) Summieren der Werte in der Liste
//ich hab eine methode geschrieben die die komplette liste durchläuft und nebenbei zählt(unwicht für das summieren, aber dann wird einfach so die länge zurückgegeben)
Nun fehlt mir halt das wichtigste, nämlich beim durchlauf die zahlen zu merken und zu summieren....
public int summieren()
{
int zaehler = 0;
Link zeiger = anfang.naechster;
while (zeiger != ende)
{
zaehler++;
zeiger = zeiger.naechster;
}
return zaehler;
}
Würde mich wirklich seh freuen wenn ihr euch meine jetztigen methoden anschaut und evtl. ergänzt und mir bei den fehlenden ein bisschen helfen könnt