采用头插法和尾插法创建一个单链表。假设链表中的数据元素均为整数。第一行输入2个整数,第1个为创建方法(1为头插法,2为尾插法),第2个为链表的长度。创建好的单链表,若果为空链表,输出“list is empty!”。
时间: 2023-05-12 18:03:03 浏览: 152
尾插法创建单链表PPT学习教案.pptx
以下是采用头插法和尾插法创建单链表的代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def createList(method, length):
if length == 0:
print("list is empty!")
return None
head = ListNode()
curr = head
for i in range(length):
val = int(input())
if method == 1:
new_node = ListNode(val, curr.next)
curr.next = new_node
elif method == 2:
new_node = ListNode(val)
curr.next = new_node
curr = curr.next
return head.next
```
其中,ListNode 是单链表的节点类,createList 函数接受两个参数,分别是创建方法和链表长度。在函数内部,我们先判断链表是否为空,如果是,则直接输出 "list is empty!",并返回 None。否则,我们创建一个头节点 head,并将 curr 指向 head。然后,我们循环 length 次,每次读入一个整数 val。如果创建方法是头插法,我们就新建一个节点 new_node,将其插入到 curr 的后面,然后将 curr 指向 new_node。如果创建方法是尾插法,我们就新建一个节点 new_node,将其插入到 curr 的后面,然后将 curr 指向 new_node。最后,我们返回头节点的下一个节点,即为创建好的单链表。
阅读全文