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

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)


相关文章

Python3 列表list合并的4种方法

下面是列表合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试。方法1: 直接使用"+"号合并列表aList = [1,2,3]...

python list列表拼接合并的三种方法

python 列表list拼接合并的三种方法使用“+”运算符,直接将所要拼接的列表list进行相加,比如[1]+[2],该方法并不修改原列表,而是以一个新的列表来返回;使用python内置的列表方法e...

10行python代码系列——合并多个PDF

介绍这是一个使用Python的10行代码将多个PDF文件合并为一个PDF的应用程序。只需将源代码与PDF文件放置在同一位置,运行该代码,所有的单个PDF文件将被合并成一个新的大PDF文件。程序的功能:...

合并excel表格(使用python)

上次介绍了用Power Query合并excel表格(合并excel表格(使用Power Query)),今天,介绍用python合并excel表格。准备测试数据准备3个excel工作簿:明细1.xl...

三种常用方法合并 Python 字典,你学会了吗?

在使用 Python 字典时,你有时需要将多个字典合并成一个,以便后续处理。本教程将介绍三种常见的 Python 字典合并方法。我们将重点学习以下三种方式:使用 update() 方法字典解包并集运算...