Definir la estructura de la lista enlazada
class Link:
def __init__(self, data):
self.data = data # 存放数据
self.next = None # 指针结点
método de almacenamiento
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
método de llamada
def print_linkList(link): # 始终要记得link是一个结构,调用时从头结点开始
while link: # 如果结点存在
print(link.data, end=' ') # 输出当前结点的数据域
link = link.next # 让下一个结点成为下一次要操作的结点
print()
Introducir datos e imprimir
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()
Referencia https://blog.csdn.net/qq_51148692/article/details/120447979