2017-10-20 9 views
1

Ich lerne, wie Sie verknüpfte Listen verwenden, und möchte einen Wert hinzufügen, einen Wert entfernen und testen, ob ein Wert in der verknüpften Liste ist. Ich kämpfe, um herauszufinden, wie man einen Wert prüft und einen Wert entfernt.Implementierung einer verknüpften Liste in Python

class Node(object): 
    def __init__(self, v, n): 
     self.value = v 
     self.next = n 

class LinkedList(object): 
    def __init__(self): 
     self.firstLink = None 
    def add (self, newElement): 
     self.firstLink = Node(newElement, self.firstLink) 
    def test(self, testValue): 

    def remove(self, testValue): 
+0

Womit kämpfen Sie und warum? –

Antwort

1

Um zu testen, ob ein Wert in einem LinkedList ist man durch die Liste gehen und überprüfen jedes Einzelteil

def contains(self, testValue): 
    ptr = self.firstLink 
    while ptr != None: 
     if ptr.value == testValue: 
      return True 
     ptr = ptr.next 
    return False 

Bei der Verwendung von remove() Methode, die Sie in der Regel nicht ein Einzelteil holen entfernt werden. Remove-Methode sollte nur das letzte Element entfernen, das zu LinkedList hinzugefügt wurde. Zuletzt rein, zuerst raus.

def remove(self): 
    if self.firstLink == None(): 
     return None 
    else: 
     item = self.firstLink.value 
     self.firstLink = self.firstLink.next 
     return item 

Weitere Informationen zu verketteten Listen erfahren oder sehen, wie ‚Element entfernen‘ kann von LinkedList in Python zu diesem Standort durchgeführt werden. Es ist dort gut erklärt LinkedList

+1

Vielen Dank! Die Seite war auch sehr nützlich. – Greta

+0

@Greta Ich bin froh, dass ich helfen konnte –

Verwandte Themen