你需要在列表中插入你的物品。这意味着您需要:在你要插入的地方把链条拆开
创建新节点
用你的新节点在中间加入链子。在
从技术上讲,您不需要断开链,因为在previous项上设置下一个链接将清除旧链接,因此您仍然需要重新连接链:while data > other.get_data():
previous = other
other = other.get_next()
new = Node(data)
previous.set_next(new)
new.set_next(other)
我还更正了一个不同的错误,您没有调用Node.get_next()。在
接下来,您需要更多地考虑边缘情况。当您到达链的末端时,如果没有找到任何node.get_data()大于插入数据的节点,会发生什么情况?在
您需要调整您的while循环,以确保测试该情况;other将是链的最后一个元素的None:
^{pr2}$
您还可以做其他事情来改进代码。在Python中不需要使用setter和getter;将来将属性转换为@propertys也没有成本,所以只需在这里使用属性。在
您还可以使您的Node()接受构造函数中的下一个元素,这样可以更容易地插入元素。在
您可以使用str.join()在序列的元素之间插入固定字符串。将所有的data属性放入一个Pythonlist并加入该列表。在
创建初始元素时(当self.head是None时),不需要将self.head设置为下一个节点;这是默认值:class Node:
def