链表

发布时间 2023-11-12 18:14:50作者: 20231301周子昂

单链表插入

InsertNode(LinkedList, position, data):

  1. 创建一个新节点NewNode,设置其数据为data
  2. 如果position为0:
    a. 将NewNode的next指向当前链表的头节点
    b. 将当前链表的头节点指向NewNode
    否则:
    a. 找到位置为position-1的节点,记为prevNode
    b. 将NewNode的next指向prevNode的next节点
    c. 将prevNode的next指向NewNode

单链表删除

DeleteNode(LinkedList, position):

  1. 如果链表为空:
    a. 返回错误,链表为空
  2. 如果position为0:
    a. 将链表的头节点指向头节点的下一个节点
    否则:
    a. 找到位置为position-1的节点,记为prevNode
    b. 如果prevNode为NULL或者prevNode的next为NULL:
    i. 返回错误,无法删除节点
    c. 将要删除的节点记为toBeDeleted,即prevNode的下一个节点
    d. 将prevNode的next指向toBeDeleted的下一个节点

C语言

在AI的帮助下完成的
照片见附件