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)


# 输出链表

print(output(a, head))
for node in a:
    print(node[0], node[1])