Hallo zusammen,
Wie kann ich bei einer einfach verketteten Liste direkt Elemente ans Ende anhängen ohne das es rekursiv verarbeitet wird. Zerbreche mir schon ewige Tage darüber den Kopf und komme nicht auf die Lösung.
class Listenelement {
var daten = ""
var naechster : Listenelement?
func setDaten(datenNeu: String){
daten = datenNeu
naechster = nil
}
func anhaengen(datenNeu: String){
if naechster == nil{
naechster = Listenelement()
naechster!.setDaten(datenNeu: datenNeu)
}else{
naechster!.anhaengen(datenNeu: datenNeu)
}
print("Daten \(datenNeu) wurden eingefügt")
}
func ausgeben() {
print(daten)
if naechster != nil {
naechster!.ausgeben()
}
}
}
var listenAnfang = Listenelement()
listenAnfang.setDaten(datenNeu: "Element 1")
for element in 2 ..< 10 {
listenAnfang.anhaengen(datenNeu: "Element " + String(element))
}
listenAnfang.ausgeben()
Aber irgendwie komme ich nicht auf einen grünen Zweig. Verstehen würde ich es gerne. Hoffentlich könnt ihr mir helfen.
Danke Gruß Frank
Wie kann ich bei einer einfach verketteten Liste direkt Elemente ans Ende anhängen ohne das es rekursiv verarbeitet wird. Zerbreche mir schon ewige Tage darüber den Kopf und komme nicht auf die Lösung.
class Listenelement {
var daten = ""
var naechster : Listenelement?
func setDaten(datenNeu: String){
daten = datenNeu
naechster = nil
}
func anhaengen(datenNeu: String){
if naechster == nil{
naechster = Listenelement()
naechster!.setDaten(datenNeu: datenNeu)
}else{
naechster!.anhaengen(datenNeu: datenNeu)
}
print("Daten \(datenNeu) wurden eingefügt")
}
func ausgeben() {
print(daten)
if naechster != nil {
naechster!.ausgeben()
}
}
}
var listenAnfang = Listenelement()
listenAnfang.setDaten(datenNeu: "Element 1")
for element in 2 ..< 10 {
listenAnfang.anhaengen(datenNeu: "Element " + String(element))
}
listenAnfang.ausgeben()
Aber irgendwie komme ich nicht auf einen grünen Zweig. Verstehen würde ich es gerne. Hoffentlich könnt ihr mir helfen.
Danke Gruß Frank
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von AleaLeni ()