用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)