Python实现链表

Posted 亚洲哈登

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现链表相关的知识,希望对你有一定的参考价值。

1.1实现单向链表

#链表结构分成2部分 head,tail
#(‘a‘,(‘b‘,(‘c‘,none)))
#迭代时候 Head is a   ;;;; tail is (‘b‘,(‘c‘,none))
#append时候 tail指向最后一个节点(c,‘none)
class Node:
    def __init__(self,item,next=None):
        self.item = item
        self.next = next

    def __repr__(self):
        return repr(self.item)
class SingleLinked:
    def __init__(self):
        self.head = None
        self.tail = None
        self.items = []

    def append(self,item):
        node = Node(item)
        if self.head is None:
            self.head = node
        else:
            self.tail.next = node
        self.tail = node
        self.items.append(node)
        return self

    def iternode(self):
        while self.head:
            yield self.head
            self.head = self.head.next
    def __getitem__(self, item):
        return self.items[item]
ll = SingleLinked()
ll.append(1).append(2).append(3).append(4)
print(ll[2])
for i in ll.iternode():
    print(i)

 

以上是关于Python实现链表的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript笔试题(js高级代码片段)

python实现链表反转(转置)

python实现双向链表

python实现双向链表

python实现单向链表

python3实现链表的基础操作