einfachen verkettete Liste

Diskutiere einfachen verkettete Liste im Hausaufgaben Bereich.
M

mucos001

Hallo Forum
Ich habe eine Liste geschrieben.Ich habe schon eine Problem Liste Kopien
ich möchte kopieren , aller Elemente der orginal Liste enthalten
könntet ihr mir bitte 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, ende;

public Liste()
{
anfang = ende = null;
}

public void anfuegen(int daten)
{
Link neu = new Link(daten, null);

if(anfang == null)
{
anfang = ende = neu;
}
else
{
ende = ende.naechster = neu;
}
}


public Liste kopieren()
{
Liste copy = new Liste();

Link zeiger = anfang;

while(zeiger != null)
{
copy.anfuegen(zeiger.daten);
zeiger = zeiger.naechster;
}
copy.anfang = zeiger;

return copy;

}


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

Link aktuel = anfang;

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

aktuel = aktuel.naechster;
}
}

}

public class Main
{

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

l.anfuegen(5);
l.anfuegen(6);
l.anfuegen(7);

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

l.ausgeben();
}

}

}
 
J

JustNobody

Java:
public Liste kopieren() {
  Liste copy = new Liste();

  Link zeiger = anfang;

  while(zeiger != null) {
    copy.anfuegen(zeiger.daten);
    zeiger = zeiger.naechster;
  }

  // Was willst Du hier machen? zeiger ist null, sonst wäre er noch in der while schleife!
  copy.anfang = zeiger;

  return copy;
}
Also wie im Kommentar geschrieben: Das macht so keinen Sinn!

Du hast in der While Schleife alle Element hinzugefügt, also bist Du danach fertig und musst copy.anfang nicht mehr setzen. Das ist ja schon korrekt auf dem ersten Element!
 
M

mucos001

habe ich schon Zeile copy.anfang = zeiger gelöscht.Die Zeile benötigt nicht, dass ich verstanden habe .
danke
 
Thema: 

einfachen verkettete Liste

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben