1075: 链表的插入
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:210
解决:60
题目描述
给定一个描述链表的列表a和头指针head,现在需要找到第一个链表中数据域为key的节点,将一个输入的新节点插入在该节点之前,若找不到key,则将新节点插入在链表的末尾
输入
第一行:插入节点的数据data
第二行:查找节点的数据域key
第三行:头指针head
第四行:节点数量n
接下来n行:节点的数据域 指针域,使用一个空格隔开
输出
第一行为链表的逻辑结构,按逻辑顺序输出每个节点的数据域,每个数据使用"->"隔开,可以使用上一题中完成的函数来输出
接下来n行:每行输出一个节点,包含数据域和指针域,使用一个空格隔开
样例输入 复制
10
1
0
3
1 1
2 2
3 -1
样例输出 复制
10->1->2->3
1 1
2 2
3 -1
10 0
提示
def output(a, head):
result = ""
p = head
return result
def insert_node(a, head, data, key):
return head
# 读取输入
data = int(input())
key = int(input())
head = int(input())
n = int(input())
a = []
for i in range(n):
node_data, node_pos = map(int, input().split())
a.append([node_data, node_pos])
# 插入节点
head = insert_node(a, head, data, key)
for node in a:
print(node[0], node[1])
result = ""
p = head
return result
def insert_node(a, head, data, key):
return head
# 读取输入
data = int(input())
key = int(input())
head = int(input())
n = int(input())
a = []
for i in range(n):
node_data, node_pos = map(int, input().split())
a.append([node_data, node_pos])
# 插入节点
head = insert_node(a, head, data, key)
# 输出链表
print(output(a, head))for node in a:
print(node[0], node[1])