所以我需要将数据从最低到最高排序。因此,最低值的指针将指向下一个最高的指针,依此类推。到目前为止,无论数据如何,它都指向插入的下一个。
我需要在附加每个值时对其进行排序
代码:
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