0
我創建一個python類來實現一個雙向鏈表。我有一個獨立的類爲DLL節點本身和列表的類。 這是我的類爲DLL節點: 類DLLNode:python雙向鏈表 - insertAfter節點
def __init__(self,element,nextnode=None,prevnode=None,):
self._element = element
self._next = nextnode
self._prev = prevnode
我有一個名爲insertAfter(self,x,y)
方法,該方法第一次出現X之後插入節點Y。這是這樣的:
if self.size != 0:
n = DLLNode(y)
if self.head._element == x:
n._next = self.head._next
self.head._next._prev = n
n._prev = self.head
self.head._next = n
self.size += 1
elif self.tail._element == x:
self.tail._next = n
n._prev = self.tail
n._next = None
self.tail = n
self.size += 1
else:
iterator = self.head._next
while iterator._next is not None:
if iterator._element == x:
n._next = iterator._next
iterator._next._prev = n
n._prev = iterator
iterator._next = n
self.size += 1
else:
iterator = iterator._next
然而,當我運行此函數,該函數循環永遠,當我自己殺的功能,錯誤是指追溯到4最後一行iterator._next = n
它不說別的這就是爲什麼即時通訊困惑。 將不勝感激任何幫助:)
哦,這很有道理謝謝你! – DecafOyster208