The establishment of python linked list

 Define the linked list structure

class Link:
    def __init__(self, data):
        self.data = data  # 存放数据
        self.next = None  # 指针结点


 storage method

def create_linkList_head(list):  # 头插法
    head = Node(list[0])
    for x in list[1:]:
        new_node = Node(x)  # 新的数据结构化,然后赋给新结点
        new_node.next = head  # 原来的头结点赋给新结点的下一个结点
        head = new_node  # 再让新结点成为头结点
    return head  # 返回头结点以便下次调用


def create_linkList_tail(list):  # 尾插法
    head = Node(list[0])
    tail = head  # 尾结点
    for i in list[1:]:
        new_node = Node(i)  # 让新的数据结构化,然后赋给新结点
        tail.next = new_node  # 让新结点赋给尾结点的下一个结点
        tail = new_node  # 刚来的新结点成为新的尾结点
    return head


 call method

def print_linkList(link):  # 始终要记得link是一个结构,调用时从头结点开始
    while link:  # 如果结点存在
        print(link.data, end=' ')  # 输出当前结点的数据域
        link = link.next  # 让下一个结点成为下一次要操作的结点
    print()


 Enter data and print

def input_and_print():
    while 1:
        linkData = input('请输入链表数据:').split()
        print('头插法为:')
        print_linkList(create_linkList_head(linkData))
        print('尾插法为:')
        print_linkList(create_linkList_tail(linkData))


input_and_print()

Reference https://blog.csdn.net/qq_51148692/article/details/120447979

Guess you like

Origin blog.csdn.net/Ice1774/article/details/128028633