(1)定义三个单链表link1,link2,link3。 (2)调用创建函数实现link1和link2的创建,并分别调用输出函数输出创建后的link1和link2的元素序列。 (3)调用取值函数取得link1的一个元素的值并输出(取值的位置由用户输入)。 (4)调用合并函数将link1和link2合并成一个单链表放到link3,并输出合并后的link3的元素序列。
时间: 2024-02-25 10:58:33 浏览: 167
单链表的建立及一些简单操作
好的,我会根据您的要求逐步进行操作。下面是代码实现:
```python
# 定义单链表节点类
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
# 定义创建链表函数
def createList():
head = ListNode(None)
cur = head
n = int(input("请输入链表节点个数:"))
for i in range(n):
val = int(input("请输入节点值:"))
cur.next = ListNode(val)
cur = cur.next
return head.next
# 定义输出链表函数
def printList(head):
cur = head
while cur:
print(cur.val, end=" ")
cur = cur.next
print()
# 定义取值函数
def getVal(head):
pos = int(input("请输入要取值的位置:"))
cur = head
for i in range(pos):
cur = cur.next
print("该位置上的元素值为:", cur.val)
# 定义合并链表函数
def mergeList(head1, head2):
cur1, cur2 = head1, head2
head3 = ListNode(None)
cur3 = head3
while cur1 and cur2:
if cur1.val <= cur2.val:
cur3.next = cur1
cur1 = cur1.next
else:
cur3.next = cur2
cur2 = cur2.next
cur3 = cur3.next
cur3.next = cur1 if cur1 else cur2
return head3.next
# 创建链表link1和link2,并输出元素序列
print("创建链表link1:")
link1 = createList()
print("链表link1的元素序列为:")
printList(link1)
print("创建链表link2:")
link2 = createList()
print("链表link2的元素序列为:")
printList(link2)
# 取值函数
getVal(link1)
# 合并链表link1和link2,并输出元素序列
print("合并链表link1和link2:")
link3 = mergeList(link1, link2)
print("链表link3的元素序列为:")
printList(link3)
```
希望这个代码可以帮助到您!
阅读全文