aiaiask.com©

开花即结果 提问即答案

单链表的操作验证的实验报告,并指出每一处功能是什么
原始问题:

单链表的操作验证的实验报告,并指出每一处功能是什么

实验目的:

通过实现单链表的操作,掌握单链表的基本概念和操作方法。

实验内容:

实现了单链表的以下操作:

  1. 初始化一个空链表。
  2. 在链表末尾插入一个节点。
  3. 在链表中间插入一个节点。
  4. 删除链表中的一个节点。
  5. 打印链表中的所有节点。

实验步骤:

  1. 定义单链表的结点类,包含数据域和指针域,如下所示:
class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
  1. 初始化一个空链表,如下所示:
def init_list():
    return None
  1. 在链表末尾插入一个节点,如下所示:
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
  1. 在链表中间插入一个节点,如下所示:
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
  1. 删除链表中的一个节点,如下所示:
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
  1. 打印链表中的所有节点,如下所示:
def print_list(head):
    cur = head
    while cur:
        print(cur.val, end=' ')
        cur = cur.next
    print()

实验结果:

  1. 初始化一个空链表,结果为 None
  2. 插入一个节点到链表末尾,结果为 1 -> 2 -> 3
  3. 插入一个节点到链表中间,结果为 1 -> 2 -> 4 -> 3
  4. 删除一个节点,结果为 1 -> 2 -> 3
  5. 打印所有节点,结果为 1 2 3
单链表的操作验证的实验报告,并指出每一处功能是什么
https://www.aiaiask.com/ask/64043.html
AI / 模型DeepSeek
时间 / DATENovember 29, 2023, 6:28 PM
语言zh-CN
IP / 区域天津市天津市