class Node(): # 定义节点类
def __init__(self, item): # 初始化数据
self.item = item # 把数据存入节点
self.next = None # 默认next节点为None
# 注意,传入的数据形式为列表,可一次性插入多个数据
def creat_head(datalist, linklist): # 分别传入要插入的数据列表,和非空单链表
head_node = Node(datalist[0]) # 定义头节点,把datalist的第一个元素赋给头节点
head_node.next = linklist # 把该节点连接在链表最开头
for data in datalist[1:]: # 遍历剩余数据
node = Node(data) # 创建新节点
node.next = head_node # 把新节点插在头节点的前面
head_node = node # 把新节点命名为头节点,以便重复上述操作
return head_node # 返回改链表的首地址,从而可遍历展示该链表
def print_linklist(current_node): # 打印链表(传入头节点)
while current_node: # 当前节点非空时
print(current_node.item, end = ' ') # 打印链表节点的数据元素
current_node = current_node.next # 移动指针,重复循环
# 下面用最朴素的方法创建一个非空单链表
a = Node(1) # 创建一个独立节点
a.next = Node(2) # 在a后连接新节点
a.next.next = Node(3) # 连接新节点
print_linklist(a) # 展示该链表 ( 1 2 3 )
print('\n')
linklist1 = creat_head([8,7,6], a) # 头插法把该列表插入a链表
print_linklist(linklist1) # 展示链表
【数据结构】课设1:头插法构造链表
赞赏
- 本文作者: Jerome
- 本文链接: https://jeromezjl.github.io/post/shu-ju-jie-gou-ke-she-1tou-cha-fa-gou-zao-lian-biao/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
0%
x
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
微信支付