程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

用python实现两个链表的合并和排序

hfteth 2025-04-05 18:51:32 技术文章 17 ℃

1、需求:

已知有两个链表a和b,每个链表中的节点包括学号和成绩,要求把两个链表合并,按学号升序排序。


2、输入和输出:

请分别输入链表a、b元素的数量: 2 3

*************************

请分别输入2行链表a的元素,按照先学号后成绩的格式(第 0 行):5 100

请分别输入2行链表a的元素,按照先学号后成绩的格式(第 1 行):6 89

*************************

请分别输入3行链表b的元素,按照先学号后成绩的格式(第 0 行):3 82

请分别输入3行链表b的元素,按照先学号后成绩的格式(第 1 行):4 95

请分别输入3行链表b的元素,按照先学号后成绩的格式(第 2 行):2 10

*************************

2 10

3 82

4 95

5 100

6 89


3、源代码实现:

numa, numb = input("请分别输入链表a、b元素的数量: ").split()
numa = int(numa)
numb = int(numb)
lista = []
listb = []
print("*************************")
for i in range(numa):
    lista.append(input("请分别输入%d行链表a的元素,按照先学号后成绩的格式(第 %d 行):" % (numa, i)))
print("*************************")
for i in range(numb):
    listb.append(input("请分别输入%d行链表b的元素,按照先学号后成绩的格式(第 %d 行):" % (numb, i)))
print("*************************")

lista.extend(listb)
lista.sort()
for i in lista:
    print(i)


Tags:

最近发表
标签列表