链表排序错误
Linked List sorting error
这段代码应该对包含 6 个元素的列表进行排序,忽略第一个元素。出于某种原因,我总是收到一条错误消息 "TypeError: 'NoneType' object is not subscriptable"。如果有人能为我提供解决方案或向我解释修复方法,我将不胜感激。
def bubbleSortLinkedList(aLinkedList):
pointer = aLinkedList
swapped = True
while swapped:
pointer = aLinkedList['next']
swapped = False
for i in range(4):
if pointer['data'] > pointer['next']['data']:
pointer['data'], pointer['next']['data'] = pointer['next']['data'], pointer['data']
swapped = True
pointer = pointer['next']
aLinkedList = pointer
return aLinkedList
在 while 循环的最后一行,您写了 aLinkedList = pointer
,它指向列表的最后一个元素。但是,您打算做的是将指针设置为列表的第一个元素。
这是更正后的代码:
def bubbleSortLinkedList(aLinkedList):
pointer = aLinkedList
swapped = True
while swapped:
pointer = aLinkedList['next']
swapped = False
for i in range(4):
if pointer['data'] > pointer['next']['data']:
pointer['data'], pointer['next']['data'] = pointer['next']['data'], pointer['data']
swapped = True
pointer = pointer['next']
pointer = aLinkedList # This line was wrong!!!!!
return aLinkedList
这段代码应该对包含 6 个元素的列表进行排序,忽略第一个元素。出于某种原因,我总是收到一条错误消息 "TypeError: 'NoneType' object is not subscriptable"。如果有人能为我提供解决方案或向我解释修复方法,我将不胜感激。
def bubbleSortLinkedList(aLinkedList):
pointer = aLinkedList
swapped = True
while swapped:
pointer = aLinkedList['next']
swapped = False
for i in range(4):
if pointer['data'] > pointer['next']['data']:
pointer['data'], pointer['next']['data'] = pointer['next']['data'], pointer['data']
swapped = True
pointer = pointer['next']
aLinkedList = pointer
return aLinkedList
在 while 循环的最后一行,您写了 aLinkedList = pointer
,它指向列表的最后一个元素。但是,您打算做的是将指针设置为列表的第一个元素。
这是更正后的代码:
def bubbleSortLinkedList(aLinkedList):
pointer = aLinkedList
swapped = True
while swapped:
pointer = aLinkedList['next']
swapped = False
for i in range(4):
if pointer['data'] > pointer['next']['data']:
pointer['data'], pointer['next']['data'] = pointer['next']['data'], pointer['data']
swapped = True
pointer = pointer['next']
pointer = aLinkedList # This line was wrong!!!!!
return aLinkedList