美文网首页
Python实现单向链表

Python实现单向链表

作者: caiyingyi | 来源:发表于2017-09-26 10:39 被阅读0次

    Python实现单向链表:增删改查

    参考资料:http://www.cnblogs.com/king-ding/p/pythonchaintable.html

    注意:

    在append方法中,第62行,判断方法如果改为“if self.is_empty()",程序66行会出现报错:“AttributeError: 'NoneType' object has no attribute 'next_node'”。

    分析:

    根据编写程序的逻辑,如果链表不为空(self.is_empty() == False)则,头节点也不为空。因此不应该出现这个错误。但是实际上我编写的代码并没有保证链表不为空的时候,头节点也不为空。

    修改方法可以修改62行,也可以修改is_empty()方法:

    def is_empty(self): return self.length ==0 or not self.head

    改进:

    实现迭代器

    总结:

    编写方法操纵链表时,注意维护链表的全局属性:self.head 和self.length

    具体编写时,实际上是操纵结点,这就涉及节点的属性self.data 和self.next_node

    相关文章

      网友评论

          本文标题:Python实现单向链表

          本文链接:https://www.haomeiwen.com/subject/cwfsextx.html