原始问题:
单链表的操作验证的实验报告,并指出每一处功能是什么
实验目的:
通过实现单链表的操作,掌握单链表的基本概念和操作方法。
实验内容:
实现了单链表的以下操作:
- 初始化一个空链表。
- 在链表末尾插入一个节点。
- 在链表中间插入一个节点。
- 删除链表中的一个节点。
- 打印链表中的所有节点。
实验步骤:
- 定义单链表的结点类,包含数据域和指针域,如下所示:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next- 初始化一个空链表,如下所示:
def init_list():
return None- 在链表末尾插入一个节点,如下所示:
def insert_end(head, val):
new_node = ListNode(val)
if not head:
return new_node
cur = head
while cur.next:
cur = cur.next
cur.next = new_node
return head- 在链表中间插入一个节点,如下所示:
def insert_middle(head, val):
new_node = ListNode(val)
if not head:
return new_node
slow = head
fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
new_node.next = slow.next
slow.next = new_node
return head- 删除链表中的一个节点,如下所示:
def delete_node(head, val):
if not head:
return None
if head.val == val:
return head.next
prev = head
cur = head.next
while cur and cur.val != val:
prev = cur
cur = cur.next
if not cur:
return head
prev.next = cur.next
return head- 打印链表中的所有节点,如下所示:
def print_list(head):
cur = head
while cur:
print(cur.val, end=' ')
cur = cur.next
print()实验结果:
- 初始化一个空链表,结果为
None。 - 插入一个节点到链表末尾,结果为
1 -> 2 -> 3。 - 插入一个节点到链表中间,结果为
1 -> 2 -> 4 -> 3。 - 删除一个节点,结果为
1 -> 2 -> 3。 - 打印所有节点,结果为
1 2 3。
Prev:为何在构建现代文明进程中需坚守文化自信