我是新來的總體規劃和剛剛使用python開始的結束。我最近一直在學習鏈接列表,並且在使用函數將項添加到列表末尾時遇到問題。下面列出的名爲addToTail的函數不起作用,並且給我提供了錯誤:TypeError:'NoneType'對象不支持項目分配。任何幫助將不勝感激,謝謝。功能添加項目鏈表
def addToHead(myList, value):
node = {}
node['data'] = value
node['next'] = myList
return node
def addToTail(myList, value):
ptr = myList
while ptr != None:
ptr = ptr['next']
node = {}
node['data'] = value
node['next'] = None
ptr['next'] = node
return myList
def printList(myList):
ptr = myList
while ptr != None:
print(ptr['data'])
ptr = ptr['next']
print('None')
def createList(pythonList):
linkedList = None
for i in pythonList:
linkedList = addToHead(linkedList, i)
return linkedList
firstList = createList([5, 10, 15])
addToTail(firstList, 10)
printList(firstList)
由於你正在踩着你的指針,你總是在試圖添加之前總是指向'None'一個新元素。你需要保留一個尾隨的指針,它會指向前一個元素,以便將該元素指向新的最後一個元素。 – JohanL