Python实现单链表

2016-11-03 董付国 Python小屋 Python小屋

class Node:

    '''节点结构'''

    def __init__(self, data, nextNode=None):

        #设置当前节点的值和指向下一个节点的指针

        self.data = data

        self.next = nextNode


    def insertAfter(self, node):

        #在当前节点后面插入新节点

        node.next = self.next

        self.next = node


#头节点

head = Node(0)


p = head

for i in range(1, 10):

    #依次生成10个数字,并创建相应的节点

    #把节点连接到链表的尾部

    n = Node(i)

    p.next = n

    p = n


p = head

#遍历链表节点,在值为3的节点后面插入值为3.5的新节点

while True:

    if p.data == 3:

        p.insertAfter(Node(3.5))

        break

    else:

        p = p.next


p = head

#遍历链表并输出每个节点的值

while True:

    print(p.data)

    if p.next == None:

        break

    p = p.next