【发布时间】:2019-11-05 07:06:49
【问题描述】:
所以我需要将数据从低到高排序。所以最低值的指针将指向下一个最高值,依此类推。到目前为止,它只指向下一个插入的数据,而不管数据如何。
我需要在附加每个值时对其进行排序
代码:
def AppendNode(self, node):
if self._isleagl(node): #just a error checking method
if self.list_start == None: #checks if list is empty
self.list_start = node
node._set_pointer(None)
else: #list not empty
item = self.list_start
while item:
if item == node: #Checks for duplicates
print("This is not allowed")
elif item._get_pointer() is None: #If it is end of the List
item._set_pointer(node)
node._set_pointer(None)
break
else: #incrimets to the next node via pointer
item = item._get_pointer()
当前输出:
Index Data Pointer
0 1 1
1 6 2
2 3 3
3 7 None
期望的输出:
Index Data Pointer
0 1 2
1 6 3
2 3 1
3 7 None
编辑:
所以我暗示了这一点,但是它仍然不起作用。我认为这与 elif 语句本身有关。
elif item.data < node.data:
node._set_pointer(item._get_pointer())
item = item._get_pointer()
break
elif item.data > node.data:
item._set_pointer(node)
item._get_pointer()
break
【问题讨论】:
标签: python sorting oop linked-list